SuperAPI AI 工具集

database-migrations

数据与分析

查看项目

更新于 10-15 21:46

技能介绍

用途:帮助开发者安全地管理数据库架构变更,覆盖迁移工具使用、回滚、数据迁移和生产部署等实践。

主要能力:

  • 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);资料未提供具体收费、平台要求或效果保证,相关信息暂未提供。