diff --git a/src/integrations/supabase/types.ts b/src/integrations/supabase/types.ts index badeb0ac..09686d5d 100644 --- a/src/integrations/supabase/types.ts +++ b/src/integrations/supabase/types.ts @@ -418,6 +418,20 @@ export type Database = { referencedRelation: "companies" referencedColumns: ["id"] }, + { + foreignKeyName: "company_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "filtered_profiles" + referencedColumns: ["user_id"] + }, + { + foreignKeyName: "company_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "profiles" + referencedColumns: ["user_id"] + }, { foreignKeyName: "company_versions_submission_id_fkey" columns: ["submission_id"] @@ -1207,6 +1221,20 @@ export type Database = { website_url?: string | null } Relationships: [ + { + foreignKeyName: "park_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "filtered_profiles" + referencedColumns: ["user_id"] + }, + { + foreignKeyName: "park_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "profiles" + referencedColumns: ["user_id"] + }, { foreignKeyName: "park_versions_location_id_fkey" columns: ["location_id"] @@ -2065,6 +2093,20 @@ export type Database = { version_number?: number } Relationships: [ + { + foreignKeyName: "ride_model_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "filtered_profiles" + referencedColumns: ["user_id"] + }, + { + foreignKeyName: "ride_model_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "profiles" + referencedColumns: ["user_id"] + }, { foreignKeyName: "ride_model_versions_manufacturer_id_fkey" columns: ["manufacturer_id"] @@ -2602,6 +2644,20 @@ export type Database = { version_number?: number } Relationships: [ + { + foreignKeyName: "ride_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "filtered_profiles" + referencedColumns: ["user_id"] + }, + { + foreignKeyName: "ride_versions_created_by_fkey" + columns: ["created_by"] + isOneToOne: false + referencedRelation: "profiles" + referencedColumns: ["user_id"] + }, { foreignKeyName: "ride_versions_designer_id_fkey" columns: ["designer_id"] diff --git a/supabase/migrations/20251015185935_00f18126-4efb-4f18-b02e-c93f3fc405cf.sql b/supabase/migrations/20251015185935_00f18126-4efb-4f18-b02e-c93f3fc405cf.sql new file mode 100644 index 00000000..1ccfa219 --- /dev/null +++ b/supabase/migrations/20251015185935_00f18126-4efb-4f18-b02e-c93f3fc405cf.sql @@ -0,0 +1,43 @@ +-- Add foreign key constraints for version tables to enable PostgREST relationships +-- This fixes the "Could not find a relationship" error when joining with profiles + +-- Park versions +ALTER TABLE public.park_versions + ADD CONSTRAINT park_versions_created_by_fkey + FOREIGN KEY (created_by) + REFERENCES public.profiles(user_id) + ON DELETE SET NULL; + +-- Ride versions +ALTER TABLE public.ride_versions + ADD CONSTRAINT ride_versions_created_by_fkey + FOREIGN KEY (created_by) + REFERENCES public.profiles(user_id) + ON DELETE SET NULL; + +-- Company versions +ALTER TABLE public.company_versions + ADD CONSTRAINT company_versions_created_by_fkey + FOREIGN KEY (created_by) + REFERENCES public.profiles(user_id) + ON DELETE SET NULL; + +-- Ride model versions +ALTER TABLE public.ride_model_versions + ADD CONSTRAINT ride_model_versions_created_by_fkey + FOREIGN KEY (created_by) + REFERENCES public.profiles(user_id) + ON DELETE SET NULL; + +-- Add indexes for performance on version table lookups +CREATE INDEX IF NOT EXISTS park_versions_created_by_idx + ON public.park_versions(created_by); + +CREATE INDEX IF NOT EXISTS ride_versions_created_by_idx + ON public.ride_versions(created_by); + +CREATE INDEX IF NOT EXISTS company_versions_created_by_idx + ON public.company_versions(created_by); + +CREATE INDEX IF NOT EXISTS ride_model_versions_created_by_idx + ON public.ride_model_versions(created_by); \ No newline at end of file