2013-01-17 41 views
1

我在SQL Server中有一個表,它的缺省值爲uniqueidentifier not null插入Rails而不發送空值

我不希望ActiveRecord將空值發送到數據庫,但它是,導致'無法將空值插入到非空列'錯誤。

如何在不發送具有默認值的列的情況下保存ActiveRecord?我真的不想:

  1. 使列可以爲空。
  2. 使用Rails生成GUID並將其發送到數據庫
  3. 手動編寫查詢。

做2或3,這似乎喜歡的事,是在普通的ActiveRecord /回報率是可行的。

回答

0

不幸的是我認爲這是一個與SQL Server的Rails的問題,因爲使用Rails與MySql正確處理默認值(和這種情況)。可能還有其他選項,但可能最快的方法是在您的ActiveRecord類中添加before_create回調並在其中設置guid。

+0

呃。好吧,謝謝。 – Crisfole