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

Prisma迁移时避免数据丢失及跳过数据库重置的方法

Prisma 新增字段无需重置数据库的解决方案

针对生产环境已有用户数据的场景,完全不需要重置数据库,只需通过Prisma的迁移工具安全完成字段添加,具体步骤如下:

  • 修改 schema.prisma 中的User模型,新增email字段时必须设为可选(加?)或指定默认值,避免原有记录因缺少字段值报错:

    model User {
      id    Int     @id @default(autoincrement())
      name  String
      age   Int
      email String? // 可选字段,原有记录自动填充为NULL
      // 或者给默认值:email String @default('no-email@example.com')
    }
    
  • 生成迁移文件但暂不执行,方便检查SQL内容是否符合预期:

    prisma migrate dev --create-only
    
  • 打开生成的迁移文件(路径:prisma/migrations/[时间戳]_迁移名称/migration.sql),确认新增字段的SQL语句,比如可选字段对应的SQL是:

    ALTER TABLE "User" ADD COLUMN "email" TEXT;
    
  • 执行迁移,将变更应用到数据库(生产环境专用命令):

    prisma migrate deploy
    
  • 最后更新Prisma客户端,让代码能识别新添加的字段:

    prisma generate
    

关键注意事项

  • 绝对不要在生产环境使用 prisma migrate reset,该命令会清空所有数据库数据。
  • 生产环境操作前务必备份数据库,以防意外情况发生。

内容的提问来源于stack exchange,提问作者Mr Right

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:00:28