Rails迁移:删除约束

时间:2011-04-15 20:32:32

标签: ruby-on-rails database-migration

我在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

删除约束需要做什么?

2 个答案:

答案 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