OSS探訪GitHubでログイン

危険なActiveRecord migrationをdevelopmentで検知し、lockやtable rewriteを避ける手順を提示する

スコアの見方

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

Stars
4,449
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/09/26
ページ内ナビ

概要

Strong MigrationsはRails/ActiveRecord migrationの危険操作を検知し、既定で実行を止めてより安全な手順を提示するlibraryです。PostgreSQL、MySQL、MariaDBを対象に、長時間lockやapplication errorにつながるDDLをチェックします。現在のversionは2.8.0です。

特徴と向いている用途

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

主な特徴

危険なDDLをmigration実行時に検知して停止する

column削除・rename・type変更、非concurrent index、foreign key、constraint、backfillなど、長時間lockやruntime errorにつながりやすい操作を検知し、安全な分割手順を提示します。

出典:[2]

databaseごとの安全策とcustom checkをmigration workflowへ組み込む

PostgreSQL、MySQL、MariaDBの差を考慮したcheckを持ち、safe_by_default、custom check、timeout設定、必要時のsafe_assured相当の明示的overrideで運用できます。

出典:[2]

向いている用途

zero-downtime寄りのschema変更をRails deploymentへ定着させたいteamに向く

migration reviewだけに頼らず、危険操作をdevelopment/CIで機械的に止め、deploy→backfill→constraint validation等の段階的変更を標準化したいprojectに適します。

出典:[2]

導入前の確認

自動判定だけではraw SQL・backfillの安全性を保証できない

READMEはraw SQLや危険なbackfillを完全には判定できないことを明記しています。safety_assuredでcheckを無効化する場合はDB lock、replica、transaction、deploy順序を人間が検証する必要があります。2.8.0はRuby 3.3+・ActiveRecord 7.2+を要求します。

出典:[2][3][4]

参考にした公式資料

  1. [1]ankane/strong_migrations — GitHub repository(2026-10-06)
  2. [2]Strong Migrations — README(2026-10-06)
  3. [3]Strong Migrations — gemspec(2026-10-06)
  4. [4]Strong Migrations — CHANGELOG(2026-10-06)
編集部からの補足

migration事故を早期に防げますが、自動判定はraw SQLやbackfillの安全性を保証しません。overrideする箇所ほどlock・transaction・deploy順序を明示的にレビューしてください。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/ankane/strong_migrations.git
  2. 2

    リポジトリへ移動

    cd strong_migrations
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

4,449 Stars

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

開発アクティビティ

直近90日・週次

Commit(直近30日)
3
Open PR
1

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
4,449
Forks
200
Watchers
27
Open Issues
4
Contributors
29
所有者種別
User
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/09/26

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

情報の誤りを報告

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

このページを読んで、次に何をすればよいか分かりましたか?
Strong Migrations 2.8.0とは?Rails Migrationの安全性チェック | OSS探訪