rake db: reset ignora los cambios en la migration

Tengo una migration que especifica un tamaño de columna mySQL:

class CreateEntities < ActiveRecord::Migration def change create_table :entities do |t| ... t.string :telephone, limit: 50 ... end end end 

Originalmente, este límite era 20 .

Parece que no puedo aplicar este nuevo límite a la database.

Yo he tratado:

 > rake db:reset 

además

 > rake db:drop > rake db:setup 

El viejo valor persiste.

También schema.rb file schema.rb , pero cuando se vuelve a crear, aún incluye el valor anterior:

 ActiveRecord::Schema.define(version: 20140718164541) do create_table "entities", force: true do |t| ... t.string "telephone", limit: 20 ... end 

Si eso importa, estoy usando Git.

rake db:reset no vuelve a ejecutar sus migraciones. Borra la database, carga el esquema y luego configura las semillas. Para cambiar el límite en una columna que ya existe, debe crear una nueva migration que cambie la columna:

 class ChangeEntitiesTelephoneLimit < ActiveRecord::Migration def change change_column :entities, :telephone, :string, limit: 50 end end 

Si realmente desea volver a utilizar la misma migration, suelte y vuelva a crear la database y luego ejecute las migraciones:

 rake db:drop rake db:create rake db:migrate