database-migration
ロールバック安全なデータベースマイグレーションの計画
こちらからも入手できます: Doyajin174,CleanExpo
データベースマイグレーションを急いで実行すると本番環境が破損する可能性があります。このスキルは、Sequelize、TypeORM、Prismaにおける安全なスキーマ変更、データ変換、ロールバックのための実証されたパターンを提供します。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「database-migration」を使用しています。 Provide a zero downtime plan to rename users.name to users.full_name
期待される結果:
- フェーズ1: 既存のnameカラムに加えて新しいfull_nameカラムを追加する
- フェーズ2: 両方のカラムに同時に書き込むコードをデプロイする
- フェーズ3: バッチでnameの値をfull_nameにコピーするバックフィルを実行する
- フェーズ4: アプリケーションの読み込みをfull_nameカラムに切り替える
- フェーズ5: 検証後、別のデプロイで古いnameカラムを削除する
「database-migration」を使用しています。 Create a checkpoint-based rollback strategy for migrating a full_address field
期待される結果:
- マイグレーション前にCREATE TABLE AS SELECTでバックアップテーブルを作成する
- 小さなバッチでマイグレーションを実行し、各バッチ後に検証を行う
- 失敗した場合は、DROP TABLEとバックアップからのCREATE TABLE AS SELECTを使用して復元する
- 正常に検証出来后、バックアップテーブルを削除する
セキュリティ監査
安全The static analyzer flagged 42 potential issues, but all are false positives. SKILL.md contains only documentation and code examples for database migration patterns. The 'weak cryptographic algorithm' findings were triggered by text patterns in documentation describing migration operations. The 'Ruby/shell backtick execution' findings misidentified command-line comments as shell execution. No actual executable code, credential access, or network exfiltration patterns exist. This is static instructional content only.
リスク要因
🌐 ネットワークアクセス (1)
⚙️ 外部コマンド (25)
品質スコア
作れるもの
ダウンタイムゼロのロールアウト
ブループグリーン展開戦略でスキーマ変更中にアプリケーションを利用可能な状態に保つ、段階的なマイグレーションを計画します。
データ変換
大規模なデータセット用のチェックポイントベースのロールバックオプションを備えた安全なデータバックフィルとカラムリファクタリングを設計します。
ORMマイグレーション戦略
Sequelize、TypeORM、Prisma間の移行時のマイグレーションアプローチを比較し、互換性に関する考慮事項を示します。
これらのプロンプトを試す
Create a safe migration plan to add a non-null status column with a default value in Sequelize, including rollback steps and data backfill considerations.
Outline a zero downtime process to rename users.name to users.full_name with phased deployment, backfill strategy, and cleanup steps.
Show a migration approach that handles JSON type differences between MySQL and PostgreSQL in TypeORM with conditional logic.
Design a checkpoint-based rollback strategy for a data migration that splits a full_address field into street, city, state, and zip components.
ベストプラクティス
- すべてのマイグレーションに適切なdown()メソッドを持つロールバックステップを常に提供する
- デプロイ前に本番データをミラーリングしたステージングデータでマイグレーションをテストする
- 大規模でモノリシックなマイグレーションではなく、小規模で段階的なスキーマ変更を使用する
回避
- データバックフィルとアプリケーションの互換性を検証せずにカラムを削除する
- トランザクションボーダーやロールバック計画なしで大規模なマイグレーションを実行する
- 変換中にNULL値の処理と外部キー制約の影響を無視する
よくある質問
どのORMがサポートされていますか?
マイグレーションにサイズは制限されていますか?
CIパイプラインと統合できますか?
データベースやシークレットにアクセスしますか?
マイグレーションが途中で失敗した場合はどうすればよいですか?
マイグレーションツールと比較してどうですか?
開発者の詳細
作成者
wshobsonライセンス
MIT
リポジトリ
https://github.com/wshobson/agents/tree/main/plugins/framework-migration/skills/database-migration参照
main
ファイル構成
📄 SKILL.md