diff --git a/supabase/migrations/20251106235753_ac63e78e-ccd6-4f4f-b24b-fe168be7b001.sql b/supabase/migrations/20251106235753_ac63e78e-ccd6-4f4f-b24b-fe168be7b001.sql new file mode 100644 index 00000000..39b1a8b0 --- /dev/null +++ b/supabase/migrations/20251106235753_ac63e78e-ccd6-4f4f-b24b-fe168be7b001.sql @@ -0,0 +1,23 @@ +-- ============================================================================ +-- PHASE 2: RESILIENCE IMPROVEMENTS - Slug Uniqueness Constraints +-- ============================================================================ +-- Add UNIQUE constraints on slug columns for companies and ride_models +-- to prevent duplicate slugs and ensure data integrity + +-- Add unique constraint to companies.slug +ALTER TABLE companies + ADD CONSTRAINT companies_slug_unique UNIQUE (slug); + +-- Add unique constraint to ride_models.slug +ALTER TABLE ride_models + ADD CONSTRAINT ride_models_slug_unique UNIQUE (slug); + +-- Add indexes for performance (if they don't already exist) +CREATE INDEX IF NOT EXISTS idx_companies_slug ON companies(slug); +CREATE INDEX IF NOT EXISTS idx_ride_models_slug ON ride_models(slug); + +COMMENT ON CONSTRAINT companies_slug_unique ON companies IS + 'Ensures each company has a unique slug for URL routing'; + +COMMENT ON CONSTRAINT ride_models_slug_unique ON ride_models IS + 'Ensures each ride model has a unique slug for URL routing'; \ No newline at end of file