supabase-migration-prep
Supabase Migration Prep
Supabaseデータベースのマイグレーション前準備を自動化します。バックアップと差分マイグレーションファイルを生成します。
注意: マイグレーションは適用しません。準備のみを行います。
前提条件
ローカルでスキーマを編集済みであること:
supabase/schema.sqlなどのローカルファイルを編集- または
supabase/migrations/に新規SQLファイルを追加
重要:
- このスキルは
supabase startでローカルインスタンスを起動します - Docker Composeなど他のPostgreSQLが起動中の場合、ポート競合が発生する可能性があります
- 初回実行時はDockerイメージのダウンロードで時間がかかります
実行手順
1. PROJECT-REF確認
ユーザーに確認:
- PROJECT-REF(16文字の英数字、例:
abcdefghijklmnop) - マイグレーション名(オプション、デフォルト:
schema_update)
PROJECT-REF確認方法:
- Dashboard URL:
https://supabase.com/dashboard/project/[YOUR-PROJECT-REF] - 設定: Dashboard → Settings → General → Reference ID
2. スクリプト実行
# run_in_terminal ツールを使用
bash .claude/skills/supabase-migration-prep/scripts/prepare_migration.sh <PROJECT_REF> [migration_name]
例:
bash .claude/skills/supabase-migration-prep/scripts/prepare_migration.sh abcdefghijklmnop add_profile_fields
スクリプトが自動実行:
- バックアップディレクトリ作成
- Supabase認証確認
- プロジェクトリンク
- 完全バックアップ作成(ロール、スキーマ、データを個別に取得)
- ローカルSupabaseインスタンス起動(
supabase start) - ローカルスキーマをインスタンスに適用(
supabase db reset) - ローカルとリモートの差分確認
- マイグレーションファイル生成
3. 完了報告
スクリプト出力から以下を確認してユーザーに報告:
- ✅ ロールバックアップ:
supabase/backup/roles_YYYYMMDD_HHMMSS.sql - ✅ スキーマバックアップ:
supabase/backup/schema_YYYYMMDD_HHMMSS.sql - ✅ データバックアップ:
supabase/backup/data_YYYYMMDD_HHMMSS.sql - ✅ マイグレーションファイル:
supabase/migrations/YYYYMMDDHHMMSS_<name>.sql - ⚠️ マイグレーション未適用(適用前に内容確認を推奨)
- ℹ️ ローカルインスタンス起動中(不要なら
npx supabase stopで停止)
トラブルシューティング
エラー発生時は、スクリプト出力のエラーメッセージを確認し、以下を試行:
- 認証エラー:
npx supabase loginを再実行 - リンクエラー:
npx supabase unlink後に再実行 - 差分なし: ローカルでスキーマ変更後に再実行
参考
More from atman-33/skills
dnd-kit-implementation
Guide for implementing sortable and droppable components using dnd-kit library. Use this skill when building React applications that require drag-and-drop functionality with both container reordering (useSortable) and item dropping (useDroppable) capabilities, such as Kanban boards, file management systems, or playlist editors.
39tech-article-humanizer
Transform technical article drafts or source materials into human-like, high-quality Japanese technical articles. Use this skill when the user wants to generate, rewrite, or humanize technical articles (especially about TypeScript, JavaScript, React, or frontend topics) following specific human-writing patterns and style guidelines. Triggers include requests like "記事を人間風に", "tech article を生成", "humanize this article", or providing article source materials.
4agent-memory
Use this skill when the user asks to save, remember, recall, or organize memories. Triggers on phrases like 'remember this', 'save this', 'note this', 'what did we discuss about...', 'check your notes', 'clean up memories'. Also use proactively when discovering valuable findings worth preserving.
2react-router-v7-app
Implements React Router v7 app structure, routing patterns, and component templates. Use when creating or modifying React Router v7 applications to ensure consistent folder structure, data loading patterns, and component architecture.
2pr-assistant
Analyzes git changes and assists with creating comprehensive pull requests. Use when user wants to create a PR, review changes before PR, or needs help drafting PR descriptions. Triggers on phrases like 'create PR', 'make a pull request', 'draft PR description', 'what changed in this branch', 'prepare PR'.
1openspec-bulk-archive-change
Archive multiple completed changes at once. Use when archiving several parallel changes.
1