From fc67de935d4617bf3b86a96b483e3715db9a0b78 Mon Sep 17 00:00:00 2001 From: Yared Yemane Date: Thu, 28 May 2026 00:41:31 -0700 Subject: [PATCH] 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 --- .../000075_publish_question_sets_default.down.sql | 2 ++ db/migrations/000075_publish_question_sets_default.up.sql | 8 ++++++++ db/query/question_sets.sql | 2 +- gen/db/question_sets.sql.go | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 db/migrations/000075_publish_question_sets_default.down.sql create mode 100644 db/migrations/000075_publish_question_sets_default.up.sql diff --git a/db/migrations/000075_publish_question_sets_default.down.sql b/db/migrations/000075_publish_question_sets_default.down.sql new file mode 100644 index 0000000..0149098 --- /dev/null +++ b/db/migrations/000075_publish_question_sets_default.down.sql @@ -0,0 +1,2 @@ +ALTER TABLE question_sets + ALTER COLUMN status SET DEFAULT 'DRAFT'; diff --git a/db/migrations/000075_publish_question_sets_default.up.sql b/db/migrations/000075_publish_question_sets_default.up.sql new file mode 100644 index 0000000..f8fb62f --- /dev/null +++ b/db/migrations/000075_publish_question_sets_default.up.sql @@ -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'; diff --git a/db/query/question_sets.sql b/db/query/question_sets.sql index 0a2bec9..fa2bc0c 100644 --- a/db/query/question_sets.sql +++ b/db/query/question_sets.sql @@ -13,7 +13,7 @@ INSERT INTO question_sets ( status, 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 *; -- name: GetQuestionSetByID :one diff --git a/gen/db/question_sets.sql.go b/gen/db/question_sets.sql.go index d418b77..bc0d559 100644 --- a/gen/db/question_sets.sql.go +++ b/gen/db/question_sets.sql.go @@ -66,7 +66,7 @@ INSERT INTO question_sets ( status, 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 `