Flyway는 데이터베이스 마이그레이션 관리 도구로, Java 애플리케이션과 함께 사용할 수 있습니다. 이를 통해 애플리케이션의 데이터베이스 스키마와 이력을 관리할 수 있습니다. 이 글에서는 Flyway를 사용하여 데이터베이스 이력을 조회하는 방법을 알아보겠습니다.
1. 의존성 추가
먼저, 프로젝트에 Flyway를 추가해야 합니다. Maven을 사용한다면 pom.xml
파일에 다음과 같이 의존성을 추가하세요:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>7.5.0</version>
</dependency>
Gradle을 사용한다면 build.gradle
파일에 다음과 같이 의존성을 추가하세요:
dependencies {
implementation 'org.flywaydb:flyway-core:7.5.0'
}
2. Flyway 구성
Flyway를 사용하기 위해 Flyway
객체를 구성해야 합니다. 다음은 간단한 구성 예시입니다:
Flyway flyway = Flyway.configure()
.dataSource("jdbc:mysql://localhost:3306/mydatabase", "username", "password")
.load();
위의 예시에서 사용한 dataSource
메서드의 첫 번째 매개변수는 데이터베이스 연결 URL입니다. 두 번째 매개변수와 세 번째 매개변수는 각각 데이터베이스 사용자 이름과 비밀번호입니다. 이들은 실제로 사용하는 데이터베이스 연결 정보로 대체되어야 합니다.
3. 데이터베이스 이력 조회
Flyway를 사용하면 다양한 방법으로 데이터베이스 이력을 조회할 수 있습니다. 일반적으로는 Flyway의 info
명령을 사용하여 조회합니다. 다음은 이를 위한 코드 예시입니다:
flyway.info().all()
.forEach(info -> System.out.println(info.getVersion() + " - " + info.getDescription()));
위의 예시에서는 info
객체의 all
메서드를 호출하여 모든 이력 정보를 가져옵니다. 그리고 각 이력의 버전과 설명을 출력합니다.
4. 실행 결과
위의 코드를 실행하면 데이터베이스에 적용된 모든 마이그레이션 이력의 버전과 설명이 출력됩니다. 예를 들면 다음과 같은 결과를 볼 수 있습니다:
1.0 - Initial migration
1.1 - Add users table
1.2 - Add posts table
이렇게 Flyway를 사용하여 Java 애플리케이션의 데이터베이스 이력을 조회할 수 있습니다. Flyway는 데이터베이스 마이그레이션의 다양한 측면을 관리해주므로 개발자들에게 유용한 도구입니다.
참고 자료
- Flyway 공식 문서: https://flywaydb.org/documentation/