In a rails migration, how can you remove the limit of a field

Viewed 36228

Is the following correct?

 change_column :tablename, :fieldname, :limit => null
6 Answers

Here's what happened to me.

I realized that a string field I had in a table was not sufficient to hold its content, so I generated a migration that contained:

def self.up
  change_column :articles, :author_list, :text
end

After running the migration, however, the schema had:

create_table "articles", :force => true do |t|
  t.string   "title"
  t.text     "author_list", :limit => 255
end

Which was not OK. So then I "redid" the migration as follows:

def self.up
  # careful, it's "nil", not "null"
  change_column :articles, :author_list, :text, :limit => nil
end

This time, the limit was gone in schema.rb:

create_table "articles", :force => true do |t|
  t.string   "title"
  t.text     "author_list"
end
Related