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