要將 CompanyCode 欄位字數最大限制 (MaxLength) 從 50 改為 40,然後重新執行網站測試,結果發現以下錯誤:
這大概是程式人員在寫 MVC 碰到會很頭大的問題吧! 因為我有做 Code First 自動轉移,所以後來去找了一下怎麼處理,有人是在主控台下 Update-Database -Script -Force 把 T-Sql 叫出來給使用者確認,但我叫出來是空的。
最後找到問題所在,就是要在 「Migration\configuration.cs」裡面 AutomaticMigrationsEnabled 下加上一個 AutomaticMigrationDataLossAllowed 為 true。看起來像這樣:
public Configuration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = true; }
因為資料本身長度為 50,如果改為 40,則原本長度 40 以上的資料會遺失,因此轉移失敗,但加上 AutomaticMigrationDataLossAllowed 的意思就是說不管那些資料重不重要,反正林北就是要轉。這是一組非常有魄力的指令。推薦給有魄力的人使用。
推 反正林北就是要轉。這是一組非常有魄力的指令
回覆刪除