数据库架构变更既危险又复杂。本技能提供针对 Sequelize、TypeORM 和 Prisma 的可靠迁移模式,包含回滚策略和零停机技术。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“database-migration”。 生成一个 TypeORM 迁移来创建 'products' 表,包含 id、name、price 和 created_at 列
预期结果:
展示使用 up() 创建表和 down() 删除表的迁移类,使用 QueryRunner 实现平台无关的迁移
正在使用“database-migration”。 如何安全地向在线表添加新列?
预期结果:
解释三步方法:添加新列、回填数据、删除旧列 - 包含事务处理
正在使用“database-migration”。 为风险较高的迁移创建回滚策略
预期结果:
提供基于检查点的回滚,包含备份表创建、验证步骤和恢复程序
安全审计
安全All 32 static findings are false positives. The skill contains only documentation with code examples for database migrations (Sequelize, TypeORM, Prisma). The backticks detected are markdown code fences showing command examples, not shell execution. No cryptographic algorithms or system reconnaissance present.
风险因素
⚙️ 外部命令 (26)
质量评分
你能构建什么
框架间 ORM 迁移
从 Sequelize 迁移到 TypeORM,同时保持数据完整性和应用功能
生产环境架构变更
向拥有数百万行记录的在线表添加新列,不造成停机或锁定问题
数据库平台迁移
从 PostgreSQL 迁移到 MySQL,包含正确的类型映射和架构转换
试试这些提示
生成一个 Sequelize 迁移,向 'users' 表添加默认值为 'active' 的 'status' 列
创建一个迁移计划,在不造成停机的情况下将 'customers' 表中的 'name' 列重命名为 'full_name'
编写一个迁移,将 'address' 字符串列拆分为 'street'、'city' 和 'state' 列,并正确复制数据
生成一个处理 PostgreSQL 到 MySQL 迁移的代码,包含 JSON 与 JSONB 类型处理
最佳实践
- 为每个 up() 提供 down() 迁移以支持回滚
- 在部署前在具有生产类似数据的测试环境中测试迁移
- 对原子操作使用事务,并将高风险变更包装在 try-catch 块中
避免
- 未先在测试环境测试就直接在生产环境运行迁移
- 在没有零停机策略的情况下进行破坏性架构变更
- 因为看似不必要而跳过回滚脚本