user와 refreshKey를 one to one관계로 설정하고 create한뒤 delete하려 했으나 다음과 같은 에러가 발생했다.
Foreign key constraint failed on the field: foreign key
구글링해보니 referential action을 설정해주어야 한다고 했다.
일단 model을 살펴보자
model User {
id Int @id @default(autoincrement())
email String @unique
password String @default("")
name String @default("")
profilePicture String @default("")
about String @default("")
refreshToken RefreshToken?
}
model RefreshToken {
id Int @id @default(autoincrement())
value String @unique
User User @relation(fields: [userId], references: [id], onDelete: Cascade)
userId Int @unique
}
그럼 user relation에 ondelete cascade를 해주면 된다. 이말은 user를 삭제하면 타고 올라가 refresh token도 삭제된다는 의미이다.