用途:该技能用于掌握跨 ORM(Sequelize、TypeORM、Prisma)的数据库结构与数据迁移,包括回滚策略和零停机部署。适用场景包括:在不同 ORM 之间迁移、执行模式转换、在数据库之间移动数据、实现回滚流程、零停机部署、数据库版本升级、数据模型重构。不适用于与数据库迁移无关的任务,或超出该范围的领域与工具。
主要能力:提供各 ORM 的迁移写法示例,如 Sequelize 的 up/down 与 npx sequelize-cli db:migrate、npx sequelize-cli db:migrate:undo;TypeORM 的 MigrationInterface 与 npm run typeorm migration:run、npm run typeorm migration:revert;Prisma 的 schema 定义与 npx prisma migrate dev --name create_users、npx prisma migrate deploy。涵盖模式转换(带默认值加列、零停机重命名列、变更列类型)、数据转换(复杂数据迁移)、回滚策略(基于事务、基于检查点备份)、零停机迁移(蓝绿部署分阶段)、跨数据库迁移(PostgreSQL 到 MySQL 的类型差异处理)。
使用方式:先明确目标、约束与所需输入,应用相关最佳实践并验证结果,提供可执行步骤与验证方法。如需详细示例,可打开 resources/implementation-playbook.md。参考资料包括 references/orm-switching.md、references/schema-migration.md、references/data-transformation.md、references/rollback-strategies.md,以及 assets/schema-migration-template.sql、assets/data-migration-script.py、scripts/test-migration.sh。
最佳实践:每个 up() 都要有 down();先在预发环境测试;尽量使用事务;迁移前备份;拆分为小步增量;部署时监控;记录原因与方式;迁移应可重复运行。常见陷阱:未测试回滚流程、无停机策略就做破坏性变更、忽略 NULL 值、未考虑索引性能、忽视外键约束、一次性迁移过多数据。
限制:资料未提供具体收费、价格、平台支持范围或效果保证等信息。