SuperAPI AI 工具集

prisma-cli-migrate-resolve

部署与运维

查看项目

更新于 10-16 04:12

技能介绍

用途

prisma migrate resolve 是 Prisma CLI 提供的迁移恢复工具,用于解决数据库迁移相关的问题,例如迁移失败或对已有数据库进行基线化(baselining)。它的核心作用是更新 _prisma_migrations 表,手动改变某条迁移的状态。

命令形式

prisma migrate resolve [options]

主要能力

该命令通过修改 _prisma_migrations 表中的记录,手动调整迁移状态,属于恢复类工具。使用时必须且只能提供 --applied 或 --rolled-back 其中一个选项。

选项

选项 说明
--applied <name> 将迁移标记为已应用(成功)
--rolled-back <name> 将迁移标记为已回滚(忽略/失败)
--schema schema 文件的路径
--config Prisma 配置文件的自定义路径

使用方式与示例

标记为已应用(基线化)

如果已有现成的表,希望在不运行 SQL 的情况下初始化迁移:

prisma migrate resolve --applied 20240101000000_initial_migration

这相当于告诉 Prisma“假定这条迁移已经运行过”。

标记为已回滚(修复失败)

如果某条迁移失败(例如语法错误),并且你已修复 SQL 或希望重试:

prisma migrate resolve --rolled-back 20240115120000_failed_migration

这相当于告诉 Prisma“忘记这次迁移运行,让我重新尝试应用它”。

适用场景

  • 基线化:在现有生产数据库上采用 Prisma Migrate。
  • 迁移失败:从生产环境中 migrate deploy 失败的情况中恢复。
  • 热修复:协调手动进行的数据库变更(较少见)。

限制

使用时必须且只能提供 --applied 或 --rolled-back 其中一个选项。该命令是手动恢复工具,会直接修改 _prisma_migrations 表的状态,应谨慎使用。