[java] Java Play Framework에서의 데이터베이스 마이그레이션 방법은 어떻게 되나요?

Java Play Framework는 데이터베이스 마이그레이션을 위한 여러 가지 방법을 제공합니다. 가장 일반적인 방법은 Ebean을 사용하는 것입니다. Ebean은 Java ORM(Object-Relational Mapping) 라이브러리로 Play Framework와 긴밀하게 통합되어 있습니다. 아래는 Java Play Framework에서 데이터베이스 마이그레이션을 수행하는 간단한 예제입니다.

  1. build.sbt 파일에 Ebean과 관련 패키지 의존성을 추가합니다.
libraryDependencies += "io.ebean" % "ebean" % "13.3.0"
libraryDependencies += "mysql" % "mysql-connector-java" % "8.0.26"

위의 예에서는 Ebean과 MySQL 데이터베이스에 대한 커넥터 의존성을 추가하였습니다.

  1. application.conf 파일에서 데이터베이스 설정을 수정합니다.
db.default.driver = "com.mysql.cj.jdbc.Driver"
db.default.url = "jdbc:mysql://localhost:3306/mydatabase"
db.default.username = "root"
db.default.password = "password"

위의 예에서는 MySQL 데이터베이스에 대한 드라이버, URL, 사용자 이름, 비밀번호를 설정하였습니다.

  1. 데이터베이스 마이그레이션 파일을 작성합니다.

Play Framework는 데이터베이스 마이그레이션을 위해 evolutions 디렉토리를 사용합니다. conf/evolutions/default/ 디렉토리에 마이그레이션 파일을 추가합니다. 마이그레이션 파일은 .sql 확장자를 가지며, 일련의 SQL 쿼리로 구성됩니다. 예를 들어, 1.sql 파일에는 첫 번째 마이그레이션 단계의 SQL 쿼리를 작성합니다.

# --- !Ups

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(255) NOT NULL
);

# --- !Downs

DROP TABLE users;

위의 예에서는 users 테이블을 생성하는 SQL 쿼리를 '!Ups' 섹션에 작성하고, 테이블을 삭제하는 쿼리를 '!Downs' 섹션에 작성하였습니다.

  1. 마이그레이션을 실행합니다.

Play Framework에서는 자동으로 마이그레이션을 검사하고 적용합니다. 애플리케이션을 실행하면, 프레임워크가 데이터베이스 스키마를 자동으로 업데이트하고 레코드를 생성합니다. 마이그레이션 파일의 순서는 파일 이름 순서대로 적용됩니다.

Ebean을 사용한 Java Play Framework에서의 간단한 데이터베이스 마이그레이션 방법을 알아보았습니다. 추가적으로 Ebean 공식 문서나 Play Framework 공식 문서를 참고하시면 더 자세한 내용을 확인할 수 있습니다.