即使我從來沒有指定我的遷移,最初將列添加到表:null => false
,鐵軌還在schema.rb
指定的列具有:null => false
生成代碼。爲什麼是這樣?如果我在我的箱子上開發,然後在我的生產箱上使用rake db:schema:load
,我將會得到非常不同的行爲!爲什麼rails在schema.rb中的所有列上設置「:null => false」?
編輯:即使我刪除schema.rb
並運行rake db:schema:dump
,它仍會將:null => false
放在新架構上,即使它沒有像實際數據庫中那樣定義。它似乎無法分辨列是否被標記爲允許空值。如果有幫助,我使用SQLite。
什麼版本的Rails,這是什麼? – jdl 2010-04-01 20:41:40
2.3.5與1.9.1 – ryeguy 2010-04-01 22:37:54