我有一个这样的模式
model User {
id Int @default(autoincrement())
settings Settings
}
model Settings {
userId Int
settingOne Boolean @default(false)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}
我不希望用户中的设置是可选的-有没有一种方法可以在创建用户时自动在设置表中创建相应的行?
3条答案
按热度按时间iklwldmw1#
这是不可能的,因为如果关系的双方都需要,那么你将如何创建它们中的任何一方?因此,没有关系标量的关系(表示数据库中的外键的字段)必须是可选的。你可以自己决定哪一个。
例如,您想要创建
User
,但Settings
是必需的,因此您需要先创建Settings
。但是要创建Settings
,您还需要User
,因为Settings
模型需要它。更多信息在docs
o4tp2gmn2#
我在我的生活中做了一件非常相似的事情:
我们所有的
publications
都有一个对应的publicationStatus
,类似于你列出的问题,也许你可以这样做:或者类似的东西
dfuffjeb3#
如果使用SQL,则可以创建一个将在用户插入时运行的过程