mysql 不允许外键约束(Prisma)

bq9c1y66  于 2023-01-12  发布在  Mysql
关注(0)|答案(1)|浏览(271)

目前在尝试将模式更改推送到planetscale db时遇到了一个问题。不确定我可能做错了什么。我对prisma相当陌生,所以我希望得到一些帮助:)。

generator client {
  provider      = "prisma-client-js"
  binaryTargets = ["native"]
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id    String @id @default(uuid())
  notes Note[]
}

model Note {
  id     String @id @default(uuid())
  userId String @unique
  user   User   @relation(fields: [userId], references: [id])
}

已尝试迁移。如果删除一对多的关系,错误将消失。

qij5mzcb

qij5mzcb1#

schema.prisma文件中

datasource db {
  provider     = "mysql"
  url          = env("DATABASE_URL")
  
  // Add this
  relationMode = "prisma"
}

原因可以在relationMode的prisma文档中找到,其中说明如下:
对于关系数据库,可用选项包括:

  • foreignKeys:处理数据库中与外键的关系。这是所有关系数据库连接器的默认选项,如果datasource块中没有显式设置relationMode,则该选项处于活动状态。
  • prisma:这将模拟Prisma客户端中的关系。当您将MySQL连接器与PlanetScale数据库一起使用时,也应该启用此选项。

相关问题