SuperAPI AI 工具集

supabase-migration-prep

部署与运维

查看项目

更新于 10-16 05:02

技能介绍

用途:为 Supabase 数据库迁移做前置准备,自动完成备份与差分迁移文件生成,不实际应用迁移。

主要能力:创建备份目录;确认 Supabase 认证;链接项目;分别备份角色、schema 与数据;启动本地 Supabase 实例;将本地 schema 应用到实例;比对本地与远程差异;生成迁移文件。

前提条件:需已在本地编辑 schema(如 supabase/schema.sql)或向 supabase/migrations/ 添加新 SQL 文件。该技能会用 supabase start 启动本地实例,若 Docker Compose 等其他 PostgreSQL 正在运行可能出现端口冲突;首次运行需下载镜像,耗时较长。

使用方式:先向用户确认 PROJECT-REF(16 位英数字)与迁移名(可选,默认 schema_update)。PROJECT-REF 可在 Dashboard URL 或 Settings→General→Reference ID 查看。随后通过终端工具执行: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。

完成后应报告:角色备份 roles_YYYYMMDD_HHMMSS.sql、schema 备份 schema_YYYYMMDD_HHMMSS.sql、数据备份 data_YYYYMMDD_HHMMSS.sql,以及迁移文件 supabase/migrations/YYYYMMDDHHMMSS_<name>.sql;并提示迁移未应用、建议先检查内容,本地实例可用 npx supabase stop 停止。

故障处理:认证错误可重跑 npx supabase login;链接错误可先 npx supabase unlink 再重试;无差异时先在本地修改 schema 后重试。更多细节见 DATABASE_MIGRATION_CLOUD.md。

限制:仅做准备,不应用迁移;需本地已修改 schema;依赖本地 Supabase 实例与 Docker 环境;具体费用、平台支持等未提供。