OSS探訪

Flyway — database schema変更をversioned migrationとしてcode化する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
10,100
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/15

概要

Flywayは、`V1__create_table.sql`のようなversion付きmigration fileを順番に適用し、database schemaの変更履歴を管理するtoolです。CLI、Java、Maven、Gradleなどから利用でき、MySQL、PostgreSQL、SQL Server、Oracleなど多数のDBMSに対応します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

versioned/repeatable migrationを順序管理する

migration file名とversionを基に未適用scriptを検出し、databaseへ順番に適用します。適用履歴はschema history tableへ記録されます。

出典:[2][4]

CLI・build tool・CI/CDへschema変更を組み込む

CLIだけでなくMaven/GradleやJava APIから実行でき、application deploy前後のdatabase migrationをpipelineへ組み込めます。

出典:[2][4]

DB schema変更を手作業ではなくrelease artifactとして管理したい場合に

複数environmentへ同じmigrationを順序通り適用し、誰がどのversionまで反映したかを追跡したいteamに向きます。

出典:[2][4]

OSS版とRedgate商用editionの機能境界を確認する

READMEではApache-2.0のFlyway OSSと、GUIや追加capabilityを持つRedgate editionは別であり商用版はOSS projectの一部ではないと説明されています。必要機能がどちらに属するか導入前に確認してください。

出典:[2][3]

参考にした公式資料

  1. [1]flyway/flyway repository(2026-09-20)
  2. [2]Flyway README(2026-09-20)
  3. [3]Flyway Apache-2.0 license(2026-09-20)
  4. [4]Flyway documentation(2026-09-20)
編集部からの補足

application codeとdatabase schema変更を同じrelease flowで管理したい場合に使いやすく、migration fileと`flyway_schema_history`で適用状態を追跡できます。READMEではOSS CLIと、GUIや追加機能を持つRedgate版は別物と明記されています。導入時はCommunity/Enterprise機能を混同しないことが重要です。

3ステップで試す

  1. 1

    Flyway OSS CLIを導入

    Redgate商用editionではなく、Apache-2.0のFlyway OSS CLIを導入します。

    https://documentation.red-gate.com/flyway/reference/usage/flyway-open-source
  2. 2

    最初のmigration fileを作成

    Flywayの命名規則に沿ってversion 1のschema migrationを作ります。

    mkdir -p sql && printf 'CREATE TABLE demo (id INT PRIMARY KEY, name VARCHAR(100));\n' > sql/V1__create_demo.sql
  3. 3

    H2 file databaseへmigrate

    Flyway CLIに同梱されるH2 driverを使い、migration適用とschema historyをlocal file databaseで確認します。

    flyway -url=jdbc:h2:file:./flyway-demo -user=sa -locations=filesystem:sql migrate && flyway -url=jdbc:h2:file:./flyway-demo -user=sa -locations=filesystem:sql info
公式READMEで確認

成長

成長の推移 · 直近30日

10,100 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
4
Open PR
38
Issue登録
18
Issue解決
22
PR登録
15
PRマージ
0

Issues

18 / 22

6月23日9月20日
Issue登録Issue解決

Pull Requests

15 / 0

6月23日9月20日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
データなし
Issue応答率
0% (0/18)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • flyway
  • java
  • database-migrations
  • java-library
  • continuous-delivery
  • devops
  • sql
  • continuous-deployment
  • database
  • database-deployment
  • database-administration
  • database-management
Stars
10,100
Forks
1,632
Watchers
173
Open Issues
220
Contributors
121
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/15

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。