mcpField
3
313-frameworks-spring-db-migrations-flyway

313-frameworks-spring-db-migrations-flyway

github.com/jabrenaデータ・データベース456358 回インストール1 日前に更新
リポジトリ

313-frameworks-spring-db-migrations-flyway について

Spring Boot プロジェクトで Flyway のデータベース移行手法を適用するスキルです。移行ファイルの配置と設定を扱い、適用済み移行の変更を避け、リスクのあるスキーマ変更には拡張・移行・縮小の手順を用います。

主な機能

  1. 01Spring Boot 向け Flyway 設定
  2. 02バージョン付き SQL 移行の配置
  3. 03任意の Java 移行の利用
  4. 04適用済み移行の前方向のみの運用
  5. 05拡張・移行・縮小による変更
  6. 06Maven コマンドでの検証

活用シーン

  1. 01バージョン付き SQL 移行の追加
  2. 02移行順序と設定のレビュー
  3. 03破壊的なスキーマ変更の計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jabrena/plinth --skill 313-frameworks-spring-db-migrations-flyway

インストール後、Claude Code で/313-frameworks-spring-db-migrations-flywayを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
313-frameworks-spring-db-migrations-flyway-parallel-change.md
313-frameworks-spring-db-migrations-flyway.md
313-frameworks-spring-db-migrations-flyway-antipatterns.md

詳細

Spring — データベースマイグレーション(Flyway)

Spring Boot に Flyway のマイグレーションガイドラインを適用します。

このスキルの対象範囲

  • Spring Boot BOM を使用した flyway-core およびデータベース固有の Flyway モジュール(例:PostgreSQL)
  • src/main/resources/db/migration に配置するバージョン管理された SQL(V{version}__{description}.sql)
  • spring.flyway.* プロパティ:locations、baseline-on-migrate、validate-on-migrate
  • データのバックフィルに使用する任意の Java マイグレーション(BaseJavaMigration)
  • 前方のみの運用原則:共有環境で適用済みのマイグレーションを書き換えない
  • 破壊的変更やデータに影響するスキーマ変更に対する、安全な拡張・移行・縮小のワークフローとしての Parallel Change
  • @311-frameworks-spring-jdbc および @312-frameworks-spring-data-jdbc との連携

範囲: リファレンスのルールと適切な例・不適切な例に基づいて推奨事項を適用します。

制約

Flyway または SQL の変更を適用する前に、プロジェクトがコンパイルできることを確認してください。改善後は、全体の検証を実行してください。

  • 必須:変更を適用する前に、./mvnw compile または mvn compile を実行します
  • 安全性:コンパイルに失敗した場合は、直ちに停止します
  • 検証:改善を適用した後、./mvnw clean verify または mvn clean verify を実行します
  • 適用前:詳細なルールと適切なパターン・不適切なパターンを確認するため、リファレンスを読みます
  • 破壊的変更のレビュー:マイグレーションを推奨または適用する前に、デプロイ済みのアプリケーションのバージョン、依存サービス、レポート、ジョブ、または本番データの解釈に影響する可能性を評価します。影響する場合は、先に人による明示的なレビューを受ける必要があります
  • エッジケース:ユーザーの目的が曖昧な場合は、ファイルの編集やプロジェクト全体に関わるコマンドの実行を始める前に停止し、確認の質問をします
  • エッジケース:必要なコンテキスト、ファイル、認証情報、またはツールが不足している場合は、障害要因を明示して報告し、セットアップまたは代替手段のガイダンスに進むか確認します
  • エッジケース:依頼された変更がプロジェクトの制約または安全上の境界と矛盾する場合は、矛盾を説明し、どのトレードオフを優先するかユーザーに確認します

このスキルを使う場面

  • Spring Boot プロジェクトで Flyway マイグレーションを追加またはレビューする
  • spring.flyway または db/migration の構成を設定する
  • Spring Boot 用のバージョン管理された Flyway SQL マイグレーションを追加する
  • Spring Boot のデータベースマイグレーションの順序をレビューする
  • Spring プロジェクトの Flyway のリピータブルマイグレーションを修正する

ワークフロー

  1. リファレンスを読み、プロジェクトのコンテキストを評価する

references/313-frameworks-spring-db-migrations-flyway.md、references/313-frameworks-spring-db-migrations-flyway-antipatterns.md、references/313-frameworks-spring-db-migrations-flyway-parallel-change.md を読み、変更を提案する前に現在のプロジェクト構成を確認します。

  1. 対象範囲を把握し、改善内容を決める

求められている結果と制約を特定し、適用する変更を安全な最小限の範囲に絞ります。

  1. フレームワークに沿った変更を適用する

リファレンスのパターンとプロジェクトの規約に従って、構成やコードを実装またはリファクタリングします。破壊的変更やデータに影響するスキーマ変更には、安全な標準手順として Parallel Change(拡張・移行・縮小)を使用します。

  1. 検証を実行して結果を報告する

適切なビルドとテストを実行し、変更内容、検証した内容、フォローアップ事項をまとめます。

リファレンス

詳細なガイダンス、例、制約については、以下を参照してください。

コメント