[스프링] JPA와 마이그레이션
이번 포스트에서는 스프링 부트 애플리케이션에서 Hibernate를 사용하여 데이터베이스 마이그레이션을 수행하는 방법에 대해 알아보겠습니다.
1. 의존성 추가
먼저 build.gradle
또는 pom.xml
파일에 Hibernate와 Flyway 의존성을 추가합니다.
build.gradle
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
2. 데이터베이스 설정
다음으로 application.properties
또는 application.yml
파일을 이용하여 데이터베이스 설정을 정의합니다.
application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=username
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=none
spring.flyway.locations=classpath:db/migration
3. 마이그레이션 스크립트 작성
src/main/resources/db/migration
폴더에 마이그레이션 스크립트를 작성합니다.
V1__create_table.sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
);
4. 애플리케이션 실행
이제 스프링 부트 애플리케이션을 실행하면 Flyway가 설정된 위치에서 마이그레이션 스크립트를 찾아 실행합니다.
결론
Hibernate와 Flyway를 사용하여 스프링 부트 애플리케이션에서 데이터베이스 마이그레이션을 손쉽게 수행할 수 있습니다.
더 많은 정보를 원하신다면 Hibernate 공식 문서와 Flyway 공식 문서를 참고하시기 바랍니다.