-- 개선 조치(move_actions)에 site 스코프 추가. -- 이 표만 site 컬럼 없이 추가되어, 스코프 운영자가 타 현장의 조치 기록(카메라 ID·메모· -- 작성자)을 목록에서 그대로 읽을 수 있었다. 다른 표(events/devices/zones)와 동일하게 -- site 를 비정규화해 SQL 단계에서 걸러낸다. -- -- 적용 조건: 2026-08-07-improvement-actions.sql 이후. ALTER TABLE move_actions ADD COLUMN site VARCHAR(64) NULL AFTER camera_id, ADD KEY ix_actions_site_taken (site, taken_at); -- 기존 행 백필: 조치가 달린 카메라가 이벤트를 남긴 현장을 그 조치의 현장으로 본다. -- (카메라는 별도 등록 표가 없고 events.site 가 유일한 소유 근거다.) UPDATE move_actions a SET a.site = (SELECT e.site FROM move_events e WHERE e.camera_id = a.camera_id AND e.site IS NOT NULL ORDER BY e.event_id DESC LIMIT 1) WHERE a.site IS NULL; -- 검증: site 가 채워졌는지 확인한다. NULL 로 남은 행은 해당 카메라의 이벤트가 없거나 -- 현장 미지정(devices.site IS NULL)인 경우로, 전역 관리자에게만 보인다. -- SELECT site, COUNT(*) FROM move_actions GROUP BY site;