Publish question sets by default and backfill existing sets.

Set question_set creation fallback status to PUBLISHED and add a migration that publishes existing draft/inactive sets while updating the database default status for future records.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Yared Yemane 2026-05-28 00:41:31 -07:00
parent c77a97b40d
commit fc67de935d
4 changed files with 12 additions and 2 deletions

View File

@ -0,0 +1,2 @@
ALTER TABLE question_sets
ALTER COLUMN status SET DEFAULT 'DRAFT';

View File

@ -0,0 +1,8 @@
-- Publish existing non-archived question sets and default future ones to PUBLISHED.
UPDATE question_sets
SET status = 'PUBLISHED',
updated_at = CURRENT_TIMESTAMP
WHERE status IN ('DRAFT', 'INACTIVE');
ALTER TABLE question_sets
ALTER COLUMN status SET DEFAULT 'PUBLISHED';

View File

@ -13,7 +13,7 @@ INSERT INTO question_sets (
status, status,
intro_video_url intro_video_url
) )
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, COALESCE($10, false), COALESCE($11, 'DRAFT'), $12) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, COALESCE($10, false), COALESCE($11, 'PUBLISHED'), $12)
RETURNING *; RETURNING *;
-- name: GetQuestionSetByID :one -- name: GetQuestionSetByID :one

View File

@ -66,7 +66,7 @@ INSERT INTO question_sets (
status, status,
intro_video_url intro_video_url
) )
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, COALESCE($10, false), COALESCE($11, 'DRAFT'), $12) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, COALESCE($10, false), COALESCE($11, 'PUBLISHED'), $12)
RETURNING id, title, description, set_type, owner_type, owner_id, banner_image, persona, time_limit_minutes, passing_score, shuffle_questions, status, created_at, updated_at, display_order, intro_video_url RETURNING id, title, description, set_type, owner_type, owner_id, banner_image, persona, time_limit_minutes, passing_score, shuffle_questions, status, created_at, updated_at, display_order, intro_video_url
` `