我有一個實體,稱爲用戶耶索德遷移自定義數據類型
User
ident Text
...
status Status Default=Claimed
狀態是我做了一個數據類型。我在我的PostgreSQL表已經排,所以我得到一個耶索德devel的遷移錯誤當試圖編譯
Migrating: ALTER TABLE "user" ADD COLUMN "status" VARCHAR NOT NULL
31/Oct/2013:07:17:19 -0500 [Debug#SQL] "ALTER TABLE \"user\" ADD COLUMN \"status\" VARCHAR NOT NULL" [] @(persistent-1.2.2.0:Database.Persist.Sql.Raw ./Database/Persist/Sql/Raw.hs:37:5)
devel.hs: SqlError {sqlState = "23502", sqlExecStatus = FatalError, sqlErrorMsg = "column \"status\" contains null values", sqlErrorDetail = "", sqlErrorHint = ""}
預計這我知道,現在我應該去給psql做遷移自己。 我以爲遷移代碼應該看起來像這樣: ALTER TABLE「user」ADD COLUMN「status」VARCHAR NOT NULL DEFAULT聲稱 但我得到一個錯誤,說列聲明不存在。如何添加具有不是文本或數字的默認值的列?
這是正確的,除了我記得在雙引號我也有一個錯誤。 PG中Sting值是單引號。 – ChrisU
好的,更新的答案 – Ankur