Skip to content

Flywayによるマイグレ環境構築メモ #3

@keyskey

Description

@keyskey
  1. docker-composeでMySQL8環境を用意する。認証形式をmysql_native_passwordにするのを忘れずに。Database作成も自分で初期化スクリプトを書くのではなく公式dockerイメージの実装に乗っかるため、MYSQL_DATABASE環境変数を指定する。ユーザーへの権限付与も同様。ここで指定したユーザー認証情報をFlywayでのマイグレーション実行時も使う(rootユーザーでは実行しない)ようにする。
  2. docker-compose up -d でMySQL起動し、mysql -u (ユーザー名) -p -h 127.0.0.1 で接続し、DBが作成されていることを確認する。
  3. build.gradke.ktsのプラグインにFlywayのバージョン8系を追加し、dependencyにmysql-connector-javaの8系を追加した上でgradle buildしておく。
  4. build.gradleのflywayブロックにurl,user,passwordを指定。環境変数から読む場合もSystem.getenvを使えばいい。
  5. src/main/resource/db/migrationにV1__(適当に名前つける).sql ファイルを追加し、テーブル作成用のSQLを書く。
  6. ./gradlew flywayMigrate を実行し、テーブルが作られていることを確認する。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions