用途:该技能面向数据库架构与数据迁移,覆盖 Sequelize、TypeORM、Prisma 等 ORM,重点处理回滚策略与零停机部署。适用场景包括在不同 ORM 之间迁移、执行架构转换、在数据库之间移动数据、实施回滚流程、零停机部署、数据库版本升级以及数据模型重构。
主要能力与用法:针对三种 ORM 分别给出迁移文件写法与命令。Sequelize 运行 npx sequelize-cli db:migrate,回滚 npx sequelize-cli db:migrate:undo;TypeORM 运行 npm run typeorm migration:run,回滚 npm run typeorm migration:revert;Prisma 生成迁移 npx prisma migrate dev --name create_users,应用 npx prisma migrate deploy。架构转换部分覆盖带默认值加列、零停机重命名列(加新列、复制数据、切换应用、删旧列)、以及分步修改列类型(新增、转换复制、删除旧列、重命名)。数据转换部分给出逐条读取与拆分地址字符串等示例。回滚策略包含基于事务的迁移与基于备份表的检查点回滚。零停机部分采用蓝绿部署思路,分阶段实施向后兼容变更、双写、回填数据、切换读取、删除旧列。跨数据库迁移示例按方言区分 JSON 与 JSONB 等类型差异。技能还附带 references 与 assets、scripts 资源,如 orm-switching.md、schema-migration.md、rollback-strategies.md、schema-migration-template.sql 与 test-migration.sh。
限制与注意事项:资料给出最佳实践,要求每个 up() 都提供 down()、先在 staging 测试、尽量使用事务、迁移前备份、拆分小步骤、监控部署错误并保持迁移可重复执行。常见问题包括未测试回滚、未规划停机策略的破坏性变更、忽略 NULL、索引性能、外键约束以及一次性迁移过多数据。具体平台命令以外的数据库版本、价格、性能表现等事实资料未提供。