为布尔我已经看到了一些问题(即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