Extend DRAFT/PUBLISHED to programs, courses, modules, and exam-prep hierarchy entities with learner visibility gating and progress exclusion. Resolve question_type_definition_id in question responses for legacy system types and unlinked dynamic questions. Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
2.3 KiB
SQL
55 lines
2.3 KiB
SQL
-- Draft vs published visibility for the remaining LMS and exam-prep hierarchy levels
|
|
-- (mirrors lessons.publish_status from 000062 and practice publish_status from 000060).
|
|
-- Existing rows stay PUBLISHED; new inserts default to DRAFT unless the API sends PUBLISHED.
|
|
|
|
-- LMS hierarchy
|
|
ALTER TABLE programs
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_programs_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE programs
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|
|
|
|
ALTER TABLE courses
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_courses_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE courses
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|
|
|
|
ALTER TABLE modules
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_modules_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE modules
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|
|
|
|
-- Exam-prep hierarchy
|
|
ALTER TABLE exam_prep.catalog_courses
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_exam_prep_catalog_courses_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE exam_prep.catalog_courses
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|
|
|
|
ALTER TABLE exam_prep.units
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_exam_prep_units_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE exam_prep.units
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|
|
|
|
ALTER TABLE exam_prep.unit_modules
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_exam_prep_unit_modules_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE exam_prep.unit_modules
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|
|
|
|
ALTER TABLE exam_prep.unit_module_lessons
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_exam_prep_unit_module_lessons_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
ALTER TABLE exam_prep.unit_module_lessons
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|