我在SO上看到了一些关于将默认布尔值添加到现有列的问题(即这个问题)。所以我尝试了这个change_column
建议,但我一定做得不对。
我试过了:
$ 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
,但是价值:show_attribute
仍然存在nil
。在我上面提到的问题中,它说在PostgreSQL中需要手动更新。由于我使用的是PostgreSQL,因此在create_profiles
迁移中添加了以下内容:
t.boolean :show_attribute, :default => true
有人可以告诉我我在做什么错吗?
up
迁移的方法中,这是将在db / migrate /中生成的新类。(down
应该编写该方法以撤消该up
操作。)然后进行更改rake db:migrate
。