-- Deprecate legacy JSON columns in rides table -- These columns violate the architectural rule: "NEVER STORE JSON IN SQL COLUMNS" -- Use relational tables instead: -- - ride_technical_specifications (for technical_specs) -- - ride_coaster_statistics (for coaster_stats) -- - ride_name_history (for former_names) -- Mark columns as deprecated with comments COMMENT ON COLUMN public.rides.technical_specs IS '⚠️ DEPRECATED: Use ride_technical_specifications table instead. This JSON column violates data normalization principles and should not be used for new data.'; COMMENT ON COLUMN public.rides.coaster_stats IS '⚠️ DEPRECATED: Use ride_coaster_statistics table instead. This JSON column violates data normalization principles and should not be used for new data.'; COMMENT ON COLUMN public.rides.former_names IS '⚠️ DEPRECATED: Use ride_name_history table instead. This JSON column violates data normalization principles and should not be used for new data.'; -- Set default to NULL to prevent accidental usage ALTER TABLE public.rides ALTER COLUMN technical_specs SET DEFAULT NULL, ALTER COLUMN coaster_stats SET DEFAULT NULL, ALTER COLUMN former_names SET DEFAULT NULL; -- Same for ride_models table COMMENT ON COLUMN public.ride_models.technical_specs IS '⚠️ DEPRECATED: Use ride_model_technical_specifications table instead. This JSON column violates data normalization principles and should not be used for new data.'; ALTER TABLE public.ride_models ALTER COLUMN technical_specs SET DEFAULT NULL;