Ruby on Rails:如何使用迁移向现有列添加非空约束?

在我的Rails(3.2)应用程序中,我有一堆表在我的数据库,但我忘了添加一些非空约束。 我search了一下,但我找不到如何编写一个迁移,现有的列添加不为空。

TIA。

尝试change_column :

change_column :table_name, :column_name, :column_type, null: false 

你也可以使用change_column_null :

 change_column_null :table_name, :column_name, false 

1)首先:添加默认值的列

2)那么:删除默认值

 add_column :orders, :items, :integer, null: false, default: 0 change_column :orders, :items, :integer, default: nil