-- 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;