-- TTLock: room_id в room_lock_mappings становится необязательным
-- Нужно для импорта замков из TTHotel без привязки к номеру в системе

ALTER TABLE room_lock_mappings
  ALTER COLUMN room_id DROP NOT NULL;

-- Добавляем lock_name если не было
ALTER TABLE room_lock_mappings
  ADD COLUMN IF NOT EXISTS lock_name TEXT;

-- Уникальность теперь по lock_mac (один MAC — одна запись)
-- Старый unique(hotel_id, room_id) оставляем (работает с NULL через NULLS NOT DISTINCT в PG15+
-- или просто убираем и заменяем на lock_mac)
ALTER TABLE room_lock_mappings
  DROP CONSTRAINT IF EXISTS room_lock_mappings_hotel_id_room_id_key;

ALTER TABLE room_lock_mappings
  ADD CONSTRAINT room_lock_mappings_hotel_id_lock_mac_key UNIQUE (hotel_id, lock_mac);
