[java] Flyway의 콘솔 명령어를 사용하여 Java 애플리케이션의 데이터베이스 마이그레이션하기

Flyway는 Java 애플리케이션의 데이터베이스 마이그레이션을 쉽게 관리해주는 도구입니다. Flyway는 SQL 스크립트를 사용하여 데이터베이스 스키마의 버전 관리 및 업데이트를 수행합니다.

Flyway 설치 및 설정

  1. Flyway를 설치하기 위해 먼저 Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 Flyway를 프로젝트에 추가해야 합니다. 의존성 관리 도구를 사용하지 않는 경우, Flyway의 공식 웹사이트에서 다운로드하여 프로젝트에 추가할 수 있습니다.

  2. Flyway를 프로젝트에 추가한 후, 데이터베이스 연결 정보를 설정해야 합니다. 이를 위해 flyway.conf 파일을 생성하고 데이터베이스 연결 정보를 설정합니다. 예를 들면 다음과 같습니다:

    flyway.url=jdbc:mysql://localhost:3306/mydb
    flyway.user=myuser
    flyway.password=mypassword
    

마이그레이션 스크립트 작성

Flyway에서는 마이그레이션 스크립트를 디렉토리 단위로 관리합니다. 스크립트는 특정 버전의 데이터베이스 스키마를 생성하거나 업데이트하는 SQL 문장들로 구성됩니다. 스크립트 파일의 이름은 V<버전 번호>__<설명>.sql 형태로 작성되어야 합니다.

다음은 마이그레이션 스크립트의 예입니다:

-- V1__create_table.sql
CREATE TABLE mytable (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

위 스크립트는 mytable이라는 테이블을 생성하는 스크립트입니다.

데이터베이스 마이그레이션 실행

Flyway의 콘솔 명령어를 사용하여 데이터베이스 마이그레이션을 실행할 수 있습니다. 프로젝트의 루트 디렉토리에서 다음 명령어를 실행합니다:

flyway migrate

위 명령어는 Flyway가 설정된 데이터베이스에 대해 마이그레이션을 실행합니다. Flyway는 내부적으로 flyway.conf 파일을 참조하여 데이터베이스 연결 정보를 가져옵니다.

Flyway는 마이그레이션 스크립트의 실행 상태를 추적하고, 이미 실행된 스크립트는 재실행하지 않습니다. 따라서 버전 관리 및 중복 실행 방지를 자동으로 처리해줍니다.

추가적인 Flyway 명령어

Flyway는 다양한 명령어를 제공하여 데이터베이스 마이그레이션을 관리할 수 있습니다. 일부 유용한 명령어는 다음과 같습니다:

Flyway의 자세한 사용법과 명령어에 대한 정보는 공식 문서를 참조하십시오.

마무리

Flyway를 사용하면 Java 애플리케이션의 데이터베이스 마이그레이션을 쉽게 관리할 수 있습니다. 마이그레이션 스크립트를 작성하고 Flyway의 콘솔 명령어를 사용하여 데이터베이스를 업데이트하세요. Flyway는 버전 관리와 중복 실행 방지를 자동으로 처리해주므로 안정적인 데이터베이스 마이그레이션을 보장합니다.