用途:帮助开发者安全地管理数据库架构变更,覆盖迁移工具使用、回滚、数据迁移和生产部署等实践。
主要能力:
- Prisma 迁移:初始化(npx prisma init)、从架构变更生成迁移(npx prisma migrate dev --name init)、生产应用迁移(npx prisma migrate deploy)、开发环境重置(npx prisma migrate reset),以及 schema.prisma 中的模型与索引定义示例。
- Drizzle ORM 迁移:配置 drizzle.config.ts、使用 pgTable 定义表与索引,命令包括 npx drizzle-kit generate:pg、npx drizzle-kit push:pg(仅开发)、npx drizzle-kit migrate。
- 数据迁移:通过脚本(如 Prisma 的 updateMany 回填默认角色)处理已有数据。
- 最佳实践:优先做增量变更(如添加可空列或带默认值的列),避免直接加 NOT NULL 无默认值;破坏性变更分多步执行;采用 expand-migrate-contract 模式实现零停机。
- 回滚策略:手动编写回滚 SQL,使用 npx prisma migrate resolve --rolled-back 标记回滚后再执行 SQL。
- 生产部署:CI/CD 中运行 npx prisma migrate deploy,并附有预部署检查清单。
使用方式:按文档中的命令与配置示例操作,注意区分开发与生产命令。
适用场景:需要安全变更数据库架构、进行数据回填或实现零停机部署的项目。
限制:部分命令仅限开发环境(如 migrate dev、push:pg);资料未提供具体收费、平台要求或效果保证,相关信息暂未提供。