STK10-01 KRX 수급 5종 테이블 마이그레이션
작업 내용
수급 팩터 5종을 적재할 테이블을 Flyway 마이그레이션으로 추가한다. 연관된 공통 산출물이라 한 티켓(선행 병목)으로 묶는다.
krx_investor_trading— 투자자별 거래실적 (foreign_net·institution_net·individual_net 등)krx_foreign_holding— 외국인 보유주식수·보유율·한도소진율krx_valuation— PER·PBR·배당수익률krx_short_selling— 공매도 거래·잔고,trade_date·disclosed_date분리 (ADR-005)krx_credit_balance— 신용융자 잔고·비중marketflow_collect_log— 배치 run별·통계별 상태·행수·소요·에러 (모니터링 이력, ADR-006)
규칙: FK 컬럼·ENUM·BOOLEAN·JSON 미사용, 날짜는 DATE/DATETIME(6), 전 컬럼·테이블 COMMENT. 각 팩터 테이블 (symbol, base_date) unique (공매도는 (symbol, trade_date))로 upsert 멱등 보장. status는 VARCHAR(완료/실패/부분실패).
롤백: 역방향 DDL(DROP TABLE)로 5개 테이블 제거.
다이어그램
처리 흐름
sequenceDiagram participant Flyway participant MySQL Flyway->>MySQL: V..__create_krx_supply_demand_tables.sql MySQL-->>Flyway: 5 tables created
클래스 의존
flowchart LR SQL["V..create_krx_supply_demand_tables.sql"] --> DB[(MySQL)]
테스트 케이스
- 마이그레이션이 로컬 MySQL 8.0에서 오류 없이 실행된다
- 동일
(symbol, base_date)중복 INSERT 시 unique 제약으로 차단된다 (upsert 멱등 전제) - 공매도 테이블이
trade_date와disclosed_date를 모두 보유한다 marketflow_collect_log에 run별·통계별 1행이 INSERT된다- 역방향 DDL로 6개 테이블이 깨끗이 제거된다