Skip to content

chore(db): 운영 DB 마이그레이션 스크립트 추가 - #99

Merged
choi-jin-wook merged 1 commit into
mainfrom
chore/prod-db-migration
Sep 12, 2026
Merged

choi-jin-wook merged 1 commit into
mainfrom
chore/prod-db-migration

Conversation

@choi-jin-wook

Copy link
Copy Markdown
Collaborator

개요

운영 환경의 ddl-auto=validate 설정에서 신규 엔티티로 인한 애플리케이션 배포 실패를 방지하기 위해 DB 마이그레이션 스크립트를 추가합니다.

변경 사항

1. 룰렛 테이블 생성

  • comatching_item.roulette_reward 테이블 생성
  • comatching_item.roulette_history 테이블 생성
  • 룰렛 참여 이력과 보상 간 외래키 추가
  • 회원·룰렛 유형·참여 날짜 기준 유니크 제약조건 추가

2. 룰렛 초기 데이터 추가

  • 무료 룰렛 보상과 확률 범위 추가
  • 스페셜 룰렛 보상과 확률 범위 추가
  • 상품권 보상의 초기 재고를 999개로 설정

3. 공지 테이블 이전

  • comatching_user.notice 테이블 생성
  • 기존 comatching_item.notice 데이터를 user DB로 복사
  • 롤백을 고려해 기존 item DB의 공지 테이블은 유지
  • 재실행 시 기존 대상 데이터를 덮어쓰지 않도록 INSERT IGNORE 적용

적용 순서

  1. 20260912_01_create_roulette_tables.sql 실행
  2. 20260912_02_migrate_notice_to_user.sql 실행
  3. 애플리케이션 배포

테스트

  • 운영 엔티티 정의를 기준으로 테이블 컬럼과 제약조건 확인
  • 무료·스페셜 룰렛 확률 범위가 각각 1부터 10,000까지 연속되는지 확인
  • 공지 이전 전후에 ID와 게시 기간이 유지되도록 데이터 복사 구문 확인

참고

룰렛 초기 데이터는 중복 삽입을 방지하지 않으므로 운영 환경에서 최초 1회만 실행해야 합니다.

- item DB에 룰렛 보상·참여 이력 테이블과 제약조건 추가
- 무료·스페셜 룰렛 보상 확률 및 재고 초기 데이터 추가
- 공지 테이블을 user DB에 생성하고 기존 item DB 데이터 이전
@choi-jin-wook
choi-jin-wook merged commit 1e83b1c into main Sep 12, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant