-- Restore the prior tighter CHECK constraints (pre-discover). -- This will fail if any rows currently have system_variant = 'discover'; -- operator must clear those rows manually before rolling back. ALTER TABLE playlists DROP CONSTRAINT IF EXISTS playlists_kind_variant_consistent; ALTER TABLE playlists ADD CONSTRAINT playlists_kind_variant_consistent CHECK ( (kind = 'user' AND system_variant IS NULL) OR (kind = 'system' AND system_variant IN ('for_you', 'songs_like_artist')) ); ALTER TABLE playlists DROP CONSTRAINT IF EXISTS playlists_seed_consistent; ALTER TABLE playlists ADD CONSTRAINT playlists_seed_consistent CHECK ( (system_variant IS NULL AND seed_artist_id IS NULL) OR (system_variant = 'for_you' AND seed_artist_id IS NULL) OR (system_variant = 'songs_like_artist' AND seed_artist_id IS NOT NULL) );