diff --git a/backend/migrations/040_fixes.sql b/backend/migrations/040_fixes.sql index 64ba10b..73898db 100644 --- a/backend/migrations/040_fixes.sql +++ b/backend/migrations/040_fixes.sql @@ -14,7 +14,16 @@ CREATE UNIQUE INDEX IF NOT EXISTS uq_chat_rooms_general_per_hotel ON chat_rooms (hotel_id) WHERE type = 'general'; --- Fix 2: normalize loyalty_tier values that don't match our 4 tiers +-- Fix 2: replace 'standard' tier with 'bronze' (the UI uses bronze/silver/gold/platinum) +-- Drop the old check constraint that only allows 'standard' instead of 'bronze' +ALTER TABLE guests DROP CONSTRAINT IF EXISTS guests_loyalty_tier_check; + +-- Add the correct constraint +ALTER TABLE guests + ADD CONSTRAINT guests_loyalty_tier_check + CHECK (loyalty_tier IN ('bronze', 'silver', 'gold', 'platinum')); + +-- Migrate existing 'standard' rows to 'bronze' UPDATE guests SET loyalty_tier = 'bronze' WHERE loyalty_tier NOT IN ('bronze', 'silver', 'gold', 'platinum');