FlywayでDDLを管理する方法、ダウンロード方法、使い方
Flywayは、データベースのスキーマ変更をバージョン管理するためのツールです。
ここでは、Flywayの基本的な使い方をステップごとに説明します。
データベースマイグレーションツール比較表
まず、他のDDLと比較してこのような感じかなと思いました。
特徴 / ツール | MyBatis Migration | Flyway 無料版 | Flyway 有料版 | Liquibase |
---|---|---|---|---|
複数環境のDB管理 | ◯ | ◯ | ◯ | ◯ |
バージョン管理 | ◯ | ◯ | ◯ | ◯ |
ロールバック機能 | △ | × | ◯ | ◯ |
価格 | 無料 | 無料 | 有料 | 無料(基本版) |
カスタマーサポート | × | × | ◯ | × |
DBからファイル作成 | × | × | × | ◯ |
- MyBatis Migrationのロールバックは何でもできるが、手動でロールバックコードをマイグレーションファイルに書いていかないといけないのがイマイチ。
今回はFlywayについて調べました。
MyBatis Migrationについてはこちらで調べてます。
Liquibaseについてはこちらで調べてます。
Flywayのダウンロード手順
1. 通常のダウンロード手順
- Flyway公式サイトにアクセスし、OSに応じたバージョンをダウンロード。
- ダウンロード後、ZIPファイルを解凍し、適切なフォルダーに配置。
- FlywayフォルダーをシステムのPATHに追加。
- コマンドラインで
flyway -v
を実行し、インストールを確認。
2. Dockerを使ったダウンロード手順
- Docker公式サイトからDockerをインストール。
- 以下のコマンドでFlywayのDockerイメージを取得:
docker pull flyway/flyway
- Flywayを実行する例:
docker run --rm -v $(pwd)/sql:/flyway/sql flyway/flyway -url=jdbc:mysql://localhost:3306/mydb -user=myuser -password=mypassword migrate
- 設定ファイルやSQLをコンテナにマウントして実行。
Flywayの導入手順とフォルダー構成
Flywayを使用してデータベースマイグレーションを管理する際の、フォルダー構成や環境ごとの設定方法について説明します。
1. フォルダー構成
以下は推奨されるフォルダー構成です。
project-root/ ├── flyway/ │ ├── conf/ │ │ ├── flyway-dev.conf │ │ ├── flyway-prod.conf │ ├── sql/ │ │ ├── V1__Create_users_table.sql │ │ ├── V2__Add_email_to_users.sql └── build/
2. 環境ごとの設定ファイル
各環境に応じて接続情報を設定するために、環境ごとに設定ファイルを用意します。
開発環境用設定ファイル
flyway.url=jdbc:mysql://localhost:3306/dev_db flyway.user=dev_user flyway.password=dev_password flyway.locations=filesystem:flyway/sql
本番環境用設定ファイル
flyway.url=jdbc:mysql://prod-db-server:3306/prod_db flyway.user=prod_user flyway.password=prod_password flyway.locations=filesystem:flyway/sql
3. マイグレーションの実行
環境ごとの設定ファイルを指定してFlywayを実行します。
開発環境でのマイグレーション
flyway -configFiles=flyway/conf/flyway-dev.conf migrate
本番環境でのマイグレーション
flyway -configFiles=flyway/conf/flyway-prod.conf migrate
コメント
0 件のコメント :
コメントを投稿