Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
keyskey opened this issue Oct 17, 2021 · 0 comments
Open

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

keyskey opened this issue Oct 17, 2021 · 0 comments

Comments

@keyskey
Copy link
Owner

keyskey commented Oct 17, 2021

  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 を実行し、テーブルが作られていることを確認する。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant