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

Prisma Schema迁移报错求助:执行npm prisma migrate dev遇问题

解决Prisma迁移报错的方案

你的报错源于模型间关联名称存在歧义,Prisma无法自动区分User、Product与Order之间的双向关联逻辑。以下是修正后的完整Schema代码:

model User {
  id       Int       @id @default(autoincrement())
  username String
  email    String    @unique
  password String
  orders   Order[]   @relation("UserOrders")
  products Product[]
}

model Product {
  id          Int     @id @default(autoincrement())
  name        String
  description String
  price       Int
  stock       Int
  userId      Int
  user        User    @relation(fields: [userId], references: [id])
  images      Image[]
  orders      Order[] @relation("ProductOrders")
}

model Image {
  id        Int     @id @default(autoincrement())
  url       String
  productId Int
  product   Product @relation(fields: [productId], references: [id])
}

model Order {
  id         Int      @id @default(autoincrement())
  quantity   Int
  totalPrice Int
  orderDate  DateTime
  status     String

  userId Int
  user   User @relation(name: "UserOrders", fields: [userId], references: [id])

  productId Int
  product   Product @relation(name: "ProductOrders", fields: [productId], references: [id])
}

问题说明

User和Product模型中都定义了orders Order[]字段,Prisma无法自动识别这两个orders分别对应Order模型里的哪一条关联,必须手动指定关联名称来明确绑定方向。

操作步骤

  1. 将上述修正后的代码替换到你的Prisma Schema文件中
  2. 执行正确的迁移命令:npx prisma migrate dev(原命令写成npm prisma migrate dev有误,需用npx调用本地安装的Prisma CLI)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:00:08