[STK4-01] 종목 마스터·가격 캐시 DDL
작업 내용 (설계 의도)
변경 사항
종목 리스트 기능의 기반이 되는 DB 스키마를 생성한다. stocks 테이블에 토스 API 제공 필드 전체와 자체 확장 필드를 함께 수용하고, stock_price_cache 테이블에 30초 단위 현재가 캐시를 저장한다. 모든 후행 BE 티켓(STK4-02, STK4-03)이 이 마이그레이션을 전제한다.
다이어그램
ERD
erDiagram stocks { bigint id PK varchar symbol UK "종목코드 (005930)" varchar name "종목명 (삼성전자)" varchar english_name "영문명" varchar market "KOSPI/KOSDAQ/NYSE/NASDAQ" varchar currency "KRW/USD" varchar sector "업종 (nullable)" text description "회사 설명 (nullable)" tinyint is_active "상장 여부" json metadata "확장 필드" datetime created_at datetime updated_at } stock_price_cache { bigint id PK varchar symbol UK varchar last_price "현재가 (문자열, 토스 원본)" varchar change_rate "등락률" varchar change_amount "등락폭" datetime updated_at "마지막 갱신" } stocks ||--o| stock_price_cache : "symbol 1:1"
테스트 케이스
- Flyway 마이그레이션이 오류 없이 실행된다
stocks테이블에 symbol UK 제약이 적용된다stock_price_cache테이블에 symbol UK 제약이 적용된다- 롤백: 두 테이블 DROP으로 원복 가능하다 (기존 테이블 무영향)