SuperAPI AI 工具集

database-migration

数据与分析

查看项目

更新于 10-16 00:30

技能介绍

用途:帮助开发者在不同 ORM 与数据库平台之间执行模式与数据迁移,包含回滚策略和零停机部署方案。适用场景包括 ORM 之间迁移、模式转换、数据库间搬数据、实现回滚流程、零停机部署、数据库版本升级和数据模型重构。

主要能力:提供 Sequelize、TypeORM、Prisma 三种 ORM 的迁移示例,如 Sequelize 用 npx sequelize-cli db:migrate 执行、npx sequelize-cli db:migrate:undo 回滚;TypeORM 用 npm run typeorm migration:run 与 migration:revert;Prisma 用 npx prisma migrate dev --name create_users 生成、npx prisma migrate deploy 应用。模式转换涵盖带默认值加列、零停机重命名列(加新列、复制数据、改应用、删旧列)、修改列类型(多步法)。数据迁移示例演示拆分地址字符串并回填。回滚策略含事务式迁移与基于备份表的检查点回滚。零停机采用蓝绿部署分阶段:先做向后兼容变更、双写、回填、切读、删旧列。跨库迁移示例按方言区分 MySQL 的 JSON 与 PostgreSQL 的 JSONB。

使用方式与限制:资料给出参考文件(ORM 切换、模式迁移、数据转换、回滚策略)、SQL 模板、Python 数据迁移脚本和迁移测试脚本。最佳实践要求每个 up() 配 down()、先在预发测试、尽量用事务、迁移前备份、拆小步、监控、写文档、保持幂等。常见坑包括不测回滚、无停机策略的破坏性变更、忽略 NULL、索引性能、外键约束和一次性迁移过多数据。具体平台支持范围、性能数据与收费信息暂未提供。