-- Migration 028: PRED_EXEC에 실행 그룹 식별자(PRED_RUN_SN) 추가 -- 같은 시점에 여러 모델로 실행된 PRED_EXEC 레코드를 하나의 "예측 실행"으로 묶는다. -- 목록 화면에서 사고당 예측 실행 횟수만큼 행을 표시하기 위한 기반 구조. -- 1. 컬럼 추가 ALTER TABLE wing.PRED_EXEC ADD COLUMN IF NOT EXISTS PRED_RUN_SN INTEGER; -- 2. 기존 데이터 마이그레이션 -- 같은 ACDNT_SN + 시작 시각 60초 이내의 레코드를 동일 실행 그룹으로 묶는다. -- MIN(PRED_EXEC_SN)을 그룹 대표 키로 사용한다. UPDATE wing.PRED_EXEC pe1 SET PRED_RUN_SN = ( SELECT MIN(pe2.PRED_EXEC_SN) FROM wing.PRED_EXEC pe2 WHERE pe2.ACDNT_SN = pe1.ACDNT_SN AND ABS(EXTRACT(EPOCH FROM ( COALESCE(pe2.BGNG_DTM, NOW()) - COALESCE(pe1.BGNG_DTM, NOW()) ))) < 60 ) WHERE pe1.PRED_RUN_SN IS NULL; -- 3. 시퀀스 생성 (신규 실행용 — 기존 최대값보다 충분히 높은 값에서 시작) CREATE SEQUENCE IF NOT EXISTS wing.PRED_RUN_SN_SEQ START WITH 10000 INCREMENT BY 1;