Rails Migration: Remove constraint
I have a table in a Rails application which (in schema.rb) looks like:
create_table "users", :force => true do |t|
t.string "name", :null=>false
t.string "address", :null=>false
end
I would like to write a rails migration to allow nulls for the address field. i.e. after the migration the table looks like this:
create_table "users", :force => true do |t|
t.string "name", :null=>false
t.string "address"
end
What do I need to do to remove the constraint?
Solution 1:
In Rails 4+ in order to remove not-null constraint, you can use change_column_null
:
change_column_null :users, :address, true
Solution 2:
Not sure you can call t.address
? Anyway... I would use change_column
like so
change_column :users, :address, :string, :null => true
Docs... http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column