爲布爾我已經看到了一些問題(即this one)在這裏SO有關將默認布爾值現有列。所以我嘗試了change_column
的建議,但是我不能這樣做。添加:默認=> true在現有的Rails列
我想:
$ change_column :profiles, :show_attribute, :boolean, :default => true
它返回-bash: change_column: command not found
我然後跑:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...和
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
然後跑rake db:migrate
,B對於:show_attribute
的值仍然爲nil
。在上面引用的問題中,它在PostgreSQL中說你需要手動更新它。由於我使用PostgreSQL我說我create_profiles
遷移如下:
t.boolean :show_attribute, :default => true
有人能告訴我,我做錯了什麼嗎?
這change_column呼籲應該在轉移的'up'方法,這是一個新的類,將在db/migrate /中生成。 ('down'方法應該寫成撤銷'up'的操作。)做出這個改變,然後'rake db:migrate'。 – rkb 2011-12-24 22:24:15
啊,這讓rkb更有意義。謝謝! – tvalent2 2011-12-24 22:27:29
直到我寫了'def self.up'和'def self.down',它纔會對我有用。 – 2013-03-04 14:16:51