Explicitly set :limit on all DB migrations adding string columns
Rails 4.2 changes the default options for string columns in DB migrations, removing the default limit of 255 characters for PostgreSQL and SQLite adapters (it remains for MySQL, since that's the limit of a VARCHAR).
All of our existing DB migrations should be changed to set
:limit => 255 on add_column .. :string calls if no limit is already set. This will ensure that a database created on earlier versions will be exactly the same as one created on Rails 4.2.
I don't think we should change the limits of any columns while doing this, just be explicit about what limit they currently have. If we want to change limits, that should be done as an additional DB migration so the behaviour across versions is consistent.
fixes #13897 - explicitly set limit on string columns
Rails 4.2 removes the default limit of 255 characters on PostgreSQL and
SQLite DB adapters, causing migrations on empty DBs to create columns
with no limit. The MySQL adapter does not do this, as VARCHAR is
limited to 255 characters.
To keep the database schema identical no matter which version or adapter
is in use, specify the existing column limits explicitly on all
add_column calls. This doesn't intend to resize any columns, which
should be done with additional DB migrations.