diff --git a/src/main/resources/db/migration/V010__project_activity_read.sql b/src/main/resources/db/migration/V010__project_activity_read.sql index fda5a19..3d01551 100644 --- a/src/main/resources/db/migration/V010__project_activity_read.sql +++ b/src/main/resources/db/migration/V010__project_activity_read.sql @@ -1,13 +1,6 @@ -- 프로젝트 멤버별 최근활동 읽음 상태를 활동 로그 단위로 저장한다. --- 이전 확인 시각 방식이 일부 DB에 반영된 경우를 함께 정리한다. - -ALTER TABLE project_member - DROP COLUMN IF EXISTS last_activity_read_at; - --- MySQL 8.0 호환: DROP 후 CREATE (CREATE IF NOT EXISTS는 MySQL 8.0.13+에서만 지원) -DROP INDEX IF EXISTS idx_activity_log_project_created_id ON activity_log; -CREATE INDEX idx_activity_log_project_created_id - ON activity_log (project_id, created_at, id); +-- MySQL 은 DROP COLUMN IF EXISTS / CREATE INDEX IF NOT EXISTS 같은 조건부 DDL 을 +-- 지원하지 않으므로(MariaDB 전용 확장) 조건부 없이 작성한다. CREATE TABLE project_activity_read ( id BIGINT NOT NULL AUTO_INCREMENT, @@ -21,3 +14,6 @@ CREATE TABLE project_activity_read ( CONSTRAINT fk_project_activity_read_activity_log FOREIGN KEY (activity_log_id) REFERENCES activity_log (id) ); + +-- activity_log (project_id, created_at, id) 인덱스는 운영 DB에 이미 존재하며 +-- FK(project_id -> project.id) 를 떠받치고 있어 제거할 수 없으므로 마이그레이션에 포함하지 않는다.