prediction 모노레포 이관을 위한 DB 기반 구축: - V008: 계층형 code_master (12그룹 72코드, 위반유형/이벤트/단속/허가/함정 등) - V009: gear_type_master 어구 유형 6종 (분류 룰 + 합법성 기준) - V010: zone_polygon_master PostGIS 해역 폴리곤 (8개 주요 해역) - V011: vessel_permit_master + patrol_ship_master + fleet_companies 시드 - V012: vessel_analysis_results(파티션) + prediction_events 허브 + 알림 + 통계 + KPI - V013: enforcement_records/plans + patrol_assignments + ai_model 메타 - Hibernate Spatial 의존성 추가 (PostGIS 지원) - 프론트엔드 더미 데이터 기반 시드 (이벤트 15건, 단속 6건, 계획 5건, 월별통계 7개월) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
Database Migrations
⚠️ 실제 SQL 파일 위치:
backend/src/main/resources/db/migration/Spring Boot Flyway 표준 위치를 따르므로 SQL 파일은 백엔드 모듈 안에 있습니다. Spring Boot 기동 시 Flyway가 자동으로 적용합니다.
DB 정보
- DB Name:
kcgaidb - User:
kcg-app - Schema:
kcg - Host:
211.208.115.83:5432
적용된 마이그레이션 (V001~V013)
Phase 1~8: 인증/권한/감사 (V001~V007)
| 파일 | 내용 |
|---|---|
V001__auth_init.sql |
인증/조직/역할/사용자-역할/로그인 이력 |
V002__perm_tree.sql |
권한 트리 + 권한 매트릭스 |
V003__perm_seed.sql |
초기 역할 5종 + 트리 노드 45개 + 권한 매트릭스 시드 |
V004__access_logs.sql |
감사로그/접근이력 |
V005__parent_workflow.sql |
모선 워크플로우 (resolution/review_log/exclusions/label_sessions) |
V006__demo_accounts.sql |
데모 계정 5종 |
V007__perm_tree_label_align.sql |
트리 노드 명칭을 사이드바 i18n 라벨과 일치 |
S1: 마스터 데이터 + Prediction 기반 (V008~V013)
| 파일 | 내용 |
|---|---|
V008__code_master.sql |
계층형 코드 마스터 (12그룹, 72코드: 위반유형/이벤트/단속/허가/함정 등) |
V009__gear_type_master.sql |
어구 유형 마스터 6종 (분류 룰 + 합법성 기준) |
V010__zone_polygon_master.sql |
해역 폴리곤 마스터 (PostGIS GEOMETRY, 8개 해역 시드) |
V011__vessel_permit_patrol.sql |
어선 허가 마스터 + 함정 마스터 + fleet_companies (선박 9척, 함정 6척) |
V012__prediction_events_stats.sql |
vessel_analysis_results(파티션) + 이벤트 허브 + 알림 + 통계(시/일/월) + KPI + 위험격자 + 학습피드백 |
V013__enforcement_operations.sql |
단속 이력/계획 + 함정 배치 + AI모델 버전/메트릭 (시드 포함) |
실행 방법
최초 1회 - DB/사용자 생성 (관리자 권한 필요)
-- snp 관리자 계정으로 접속
psql -h 211.208.115.83 -U snp -d postgres
CREATE DATABASE kcgaidb;
CREATE USER "kcg-app" WITH PASSWORD 'Kcg2026ai';
GRANT ALL PRIVILEGES ON DATABASE kcgaidb TO "kcg-app";
\c kcgaidb
CREATE SCHEMA IF NOT EXISTS kcg AUTHORIZATION "kcg-app";
GRANT ALL ON SCHEMA kcg TO "kcg-app";
ALTER DATABASE kcgaidb OWNER TO "kcg-app";
마이그레이션 실행 (자동)
백엔드 기동 시 Flyway가 자동 적용:
cd backend && ./mvnw spring-boot:run
수동 적용
cd backend && ./mvnw flyway:migrate -Dflyway.url=jdbc:postgresql://211.208.115.83:5432/kcgaidb -Dflyway.user=kcg-app -Dflyway.password=Kcg2026ai -Dflyway.schemas=kcg
Checksum 불일치 시 (마이그레이션 파일 수정 후)
cd backend && ./mvnw flyway:repair -Dflyway.url=... (위와 동일)
신규 마이그레이션 추가
backend/src/main/resources/db/migration/에 V00N__설명.sql 형식으로 추가하면 다음 기동 시 자동 적용됩니다.