Reputation: 11030
Is there a way I can perform both of these in 1 migration? I'm using Rails 5 and want to change it from a string to text but also allow nulls. It seems like the following below only allows the null but did not change the column type
def up
change_column_null :animals, :title, :text, :default => nil
change_column_null :animals, :description, :text, :default => nil
end
def down
change_column :animals, :title, :string
change_column :animals, :description, :string
end
Upvotes: 0
Views: 340
Reputation: 579
By default, string and text data types allows null values, also it's their default value, unless you have previously defined some constraint
Anyway, being explicit, this should work:
def up
change_column :animals, :title, :text, null: true, default: nil
change_column :animals, :description, :text, null: true, default: nil
end
def down
change_column :animals, :title, :string
change_column :animals, :description, :string
end
Upvotes: 1