-- +goose Up -- Announcements are placed in a column (left, main, right) at its top or bottom. ALTER TABLE sections DROP CONSTRAINT sections_placement_check; UPDATE sections SET placement = CASE placement WHEN 'above' THEN 'main-top' WHEN 'below' THEN 'main-bottom' ELSE 'left-top' END; ALTER TABLE sections ALTER COLUMN placement SET DEFAULT 'main-top'; ALTER TABLE sections ADD CONSTRAINT sections_placement_check CHECK (placement IN ('left-top', 'left-bottom', 'main-top', 'main-bottom', 'right-top', 'right-bottom')); -- +goose Down ALTER TABLE sections DROP CONSTRAINT sections_placement_check; UPDATE sections SET placement = CASE placement WHEN 'main-top' THEN 'above' WHEN 'main-bottom' THEN 'below' ELSE 'sidebar' END; ALTER TABLE sections ALTER COLUMN placement SET DEFAULT 'above'; ALTER TABLE sections ADD CONSTRAINT sections_placement_check CHECK (placement IN ('above', 'below', 'sidebar'));