HabitPay / backend

https://habitpay.github.io/backend/
0 stars 0 forks source link

[feat] db 마이그레이션 및 버전 관리를 위한 flyway 도입#278 #279

Closed Han-Joon-Hyeok closed 1 month ago

Han-Joon-Hyeok commented 1 month ago

작업 개요

운영 환경 DB 스키마 마이그레이션 및 스키마 버전 관리를 위한 flyway 를 적용했습니다.

Flyway 소개

자세한 설명은 아래의 링크로 대체합니다.

사용 방법

아래에서는 엔티티가 이미 존재하는 상황을 전제로 작성합니다.

1. 엔티티 변경

바꾸고자 하는 엔티티에 컬럼을 추가합니다.

@Getter
@NoArgsConstructor
@Entity
@Slf4j
@Table(name = "challenge")
public class Challenge extends BaseTime {

    @Column(nullable = false)
    private int feePerAbsence;

+   @Column(nullable = false)
+   private int totalAbsenceFee;

}

2. SQL 파일 생성

src/main/resources/db/migration 경로에 SQL 파일을 생성합니다.

파일 네이밍 규칙은 아래와 같습니다.

V[YYYYMMDDHHMM]__[Changes].sql

유의사항

적용 확인

운영 서버에도 정상적으로 적용되었습니다.

Flyway history 테이블 생성

image

컬럼 추가

image

참고자료