我通過向“邀請”表添加另外兩個欄位“ahash”和“sAddress”來更新我的 Prisma ORM 資料庫模型。
該表已包含 6 行資料。
當我嘗試將新更改遷移到 Postgresql 資料庫時,出現錯誤 Database error code: 23502. ERROR: column "aHash" of relation "Invitation" contains null values.
如何滿足空值并將模型更新平滑地遷移到資料庫中?
請給我一個逐步的帳戶。我是 Prisma 遷移的新手。
提前致謝!
Prisma 邀請模型如下所示。
model Invitation {
id String @id @db.Uuid
workId String @db.Uuid
work Work @relation(fields: [workId], references: [id])
status RequestStatus
coId String @db.Uuid
oSignature String
note String
aHash String
sAddress String
createdAt DateTime
respondedAt DateTime
}
uj5u.com熱心網友回復:
這里的問題是ahash和sAddress都是必填欄位。但是,對于資料庫中的 6 個現有行/記錄,它們不存在。
如果您想向現有資料庫添加新列而不導致資料丟失,您需要確保新列/欄位是可選的。這可以在 Prisma 中通過用?.
如果您需要該欄位為必填欄位,您可以分三步完成:
- 首先在您的 Prisma 架構中創建新的
ahash和sAddress可選的欄位并運行遷移。 - 運行腳本以更新所有現有記錄,以便它們具有
ahash和sAddress欄位的值。 - 在 Prisma 模式中將這兩個欄位標記為必填欄位并運行遷移。
在步驟 3 中,您將不再收到錯誤,因為沒有任何記錄包含和欄位的null值。ahashsAddress
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/328566.html
標籤:PostgreSQL 嵌套 棱镜
上一篇:創建一個唯一約束,其中一列可以為空以防止重復記錄插入[duplicate]
下一篇:無法使用PHP訪問JSON資料
