You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Prisma Schema中编辑枚举为何需要创建新迁移?

为什么修改Prisma枚举需要创建新迁移?

你的原始枚举定义:

enum OrderStatus {
    paymentDone
    OrderCreated
    OrderConfirmed
}

当你添加orderCancelled枚举值时,Prisma要求创建迁移的核心原因和PostgreSQL的枚举特性直接相关:

  • PostgreSQL中的枚举类型是静态不可变的:一旦在数据库中创建了枚举类型,就不能直接修改它的取值集合,既不能新增、删除也不能修改已有枚举值。
  • Prisma的核心作用是保持你的Schema定义和数据库实际结构完全同步:当你在Prisma Schema里更新了枚举,Prisma需要生成对应的迁移文件,通过执行特定的DDL语句(比如先创建临时枚举、更新关联表、替换原枚举、删除临时枚举的流程)来把新的枚举值同步到数据库中。
  • 迁移是Prisma管理数据库结构变更的唯一安全方式:它能确保变更过程可追溯、可回滚,避免直接手动修改数据库导致的Schema和代码不一致问题。

内容的提问来源于stack exchange,提问作者vishal krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:55:10