-- Add ride_sub_type field to rides table for sub-categories like "Flying Coaster", "Inverted Coaster", etc. -- This is separate from ride_type in ride_models to allow flexibility for rides without models ALTER TABLE public.rides ADD COLUMN ride_sub_type TEXT; -- Update companies table to better handle both companies and individuals -- Add a person_type field to distinguish between companies, individuals, and firms ALTER TABLE public.companies ADD COLUMN person_type TEXT DEFAULT 'company' CHECK (person_type IN ('company', 'individual', 'firm', 'organization')); -- Add index for better performance on ride sub-type queries CREATE INDEX idx_rides_ride_sub_type ON public.rides(ride_sub_type); -- Add index for better performance on company person_type queries CREATE INDEX idx_companies_person_type ON public.companies(person_type); -- Add some example ride sub-types as comments for reference COMMENT ON COLUMN public.rides.ride_sub_type IS 'Sub-category of ride type, e.g., "Flying Coaster", "Inverted Coaster", "Log Flume", "Shoot the Chutes"'; COMMENT ON COLUMN public.companies.person_type IS 'Type of entity: company, individual, firm, or organization'; -- Update existing companies to have proper person_type (defaulting to company) UPDATE public.companies SET person_type = 'company' WHERE person_type IS NULL;