【Spring boot】Migration(flyway) - ChuN6868/CodeChrysalis-fullstuck-project GitHub Wiki

手順

依存関係の設定

pom.xmlに下記のようにdependencyを追記(場所はどこでもよい)

<!-- Migration Tools -->
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
    <version>10.22.0</version>
</dependency>
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-database-postgresql</artifactId>
    <version>10.22.0</version>
</dependency>

flywayの設定

application.propertiesに下記を追記

spring.flyway.enabled=true
spring.flyway.locations=classpath:db/migration
spring.flyway.baseline-on-migrate=true

migrationファイルの作成

src/main/resources/db/migrationのフォルダを作成し、下記のファイルをその配下に作成
※flywayのmigrationファイル名には命名規則があるので注意が必要

  • V1__create_users_table.sql
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  • V2__insert_initial_data.sql
INSERT INTO users (name, email) VALUES ('Alice', '[email protected]');
INSERT INTO users (name, email) VALUES ('Bob', '[email protected]');

migrationの実行

下記のコマンドでSpring bootを起動すると自動で実行される

mvn spring-boot:run
⚠️ **GitHub.com Fallback** ⚠️