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