26 lines
1.0 KiB
SQL
26 lines
1.0 KiB
SQL
-- 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;
|