我在Rails应用程序中有一个表(在schema.rb中)看起来像:
create_table "users", :force => true do |t|
t.string "name", :null=>false
t.string "address", :null=>false
end
我想编写rails迁移以允许地址字段为空。即在迁移后,表格如下所示:
create_table "users", :force => true do |t|
t.string "name", :null=>false
t.string "address"
end
删除约束需要做什么?
答案 0 :(得分:208)
在Rails 4+中为了删除非空约束,您可以使用change_column_null
:
change_column_null :users, :address, true
答案 1 :(得分:159)
不确定是否可以致电t.address
?无论如何......我会像change_column
这样使用
change_column :users, :address, :string, :null => true
文档... http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column