bolt.diy/supabase/migrations/20240313173700_create_problems_table.sql
2025-03-30 05:31:56 -07:00

27 lines
1.0 KiB
SQL

-- Migration: Create Problems Table (20240313173700)
-- Add new columns to problems table
ALTER TABLE problems
ADD COLUMN version INTEGER,
ADD COLUMN solution JSONB NOT NULL DEFAULT '{}',
ADD COLUMN prompt JSONB NOT NULL DEFAULT '{}'
-- Update repository_contents to use TEXT instead of JSONB
ALTER TABLE problems
ALTER COLUMN repository_contents TYPE TEXT USING repository_contents::text
-- Add enum for status
CREATE TYPE problem_status AS ENUM ('Solved', 'Unsolved')
-- Update status to use enum (need to handle existing values)
UPDATE problems SET status = 'Unsolved' WHERE status NOT IN ('Solved', 'Unsolved')
ALTER TABLE problems
ALTER COLUMN status TYPE problem_status USING status::problem_status
-- Down
ALTER TABLE problems
DROP COLUMN version,
DROP COLUMN solution,
DROP COLUMN prompt
ALTER TABLE problems
ALTER COLUMN repository_contents TYPE JSONB USING repository_contents::jsonb
ALTER TABLE problems
ALTER COLUMN status TYPE TEXT
DROP TYPE IF EXISTS problem_status