database-migration-management について
バージョン管理、ロールバック、プロダクション環境へのデプロイパターンを扱う、データベースのスキーマおよびデータ移行管理スキルです。スキーマ変更、インデックス、データ変換のガイドを含みます。
主な機能
- 01スキーマのバージョン管理
- 02ロールバックの計画と実行
- 03データ変換のガイド
- 04インデックスの作成と最適化
- 05移行のテストと検証
活用シーン
- 01データベーススキーマ変更のバージョン管理
- 02移行のロールバック計画
- 03既存データの変換や整理
- 04複数環境へのスキーマ変更のデプロイ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill database-migration-managementインストール後、Claude Code で/database-migration-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/adding-columns.mdcreating-indexes-non-blocking.mddata-transformations.mdrenaming-columns.mdtable-structure-changes.mdscripts/validate-schema.shtemplates/migration-template.sql詳細
データベースのマイグレーション管理
目次
概要
バージョン管理、ロールバック機能、データ変換戦略を備えた堅牢なデータベースマイグレーションシステムを実装します。マイグレーションフレームワークと本番環境へのデプロイパターンが含まれます。
使用する場面
- スキーマのバージョン管理と変更
- データの変換とクリーンアップ
- テーブルやカラムの追加・削除
- インデックスの作成と最適化
- マイグレーションのテストと検証
- ロールバックの計画と実行
- 複数環境へのデプロイ
クイックスタート
最小限の動作例:
-- Create migrations tracking table
CREATE TABLE schema_migrations (
version BIGINT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
duration_ms INTEGER,
checksum VARCHAR(64)
);
-- Create migration log table
CREATE TABLE migration_logs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
version BIGINT NOT NULL,
status VARCHAR(20) NOT NULL,
error_message TEXT,
rolled_back_at TIMESTAMP,
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Function to record migration
CREATE OR REPLACE FUNCTION record_migration(
p_version BIGINT,
p_name VARCHAR,
p_duration_ms INTEGER
) RETURNS void AS $$
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装は references/ ディレクトリにあります:
| ガイド | 内容 |
|---|---|
| カラムの追加 | カラムの追加 |
| カラム名の変更 | カラム名の変更 |
| ブロックせずにインデックスを作成 | ブロックせずにインデックスを作成 |
| データ変換 | データ変換 |
| テーブル構造の変更 | テーブル構造の変更 |
ベストプラクティス
✅ 推奨事項
- 確立されたパターンや規約に従う
- クリーンで保守しやすいコードを書く
- 適切なドキュメントを追加する
- デプロイ前に十分にテストする
❌ 避けるべきこと
- テストや検証を省略する
- エラー処理を無視する
- 設定値をハードコードする
コメント
Markdown 対応