- Global Rule
- DB-Mysql Module
- 제공되는 기능
- [Flyway Migration Guideline](#Flyway Migration Guideline)
- Contributors
- Update History
storage모듈은 DB와 관련된 기능을 제공한다.- DB의 종류에 따라
storage모듈을 세분화하여 구성할 수 있다.
- DB의 종류에 따라
storage모듈은 Business 로직을 알지 못해야 한다.storage모듈은 Business 로직에 의존성을 갖지 않아야 한다.storage모듈의 수정이 Business 로직에 영향을 미치지 않아야 한다.
Entity와 같은 도메인 개념이 아닌 개념은storage모듈 내부에서만 사용되어야 한다.Entity,Embeddable,Value Object등의 도메인 개념은storage모듈 외부에서도 사용될 수 있다.- 그 외의 QueryDSL을 위한
DTO Class등은storage모듈 내부에서만 사용되어야 한다.
:storage:db-mysql모듈은 MySQL DB와 관련된 기능을 제공한다.
- Domain Service
- Transaction
- Repository
- QueryDSL
- JPA
- Entity
-
Migration 파일 명명 규칙
V[Version]__[Description].sql
- Version : 버전정보
- 1: 메이저 버전
- 0: 마이너 버전
- 0: 패치 버전
- Separator : 언더바 2개 __
- Description : 파일 설명
- Create_[테이블명]_table : 테이블 생성
- Drop_[테이블명]_table : 테이블 삭제
- Add_[컬럼명]column_to[테이블명]_table : 테이블 컬럼 추가
- Drop_[컬럼명]column_from[테이블명]_table : 테이블 컬럼 삭제
- Refactor_[테이블명]_table: 테이블 리팩토링
- Add_foreign_key_to_[테이블명]_table
- Version : 버전정보
-
파일명 예시
V1.0.0__Initial_schema.sql: 스키마 초기 설정V1.0.1__Add_age_column_to_user_table.sqlV1.1.0__Drop_address_column_from_user_table.sqlV2.0.0__Refactor_user_table.sql
-
유의사항
- migration 파일은
:storage:db-mysql:src:main:resources:migration에 위치한다. - mysql.yml의 flyway.baseline-version 속성은 해당 버전 이후의 마이그레이션만 적용하는 속성이다.
- 이미 적용된 migration 파일은 수정하지 않는다.
- 새로운 변경사항은 항상 새 migration 파일로 작성한다.
- migration 파일은
:storage:db-redis모듈은 Redis DB와 관련된 기능을 제공한다.
- Data Cache
| 루카/최선규 | 매실/김현재 | 초코/김현지 | 캐슬/이호성 | 다나/서주원 |