run remove rails migrations data column mysql ruby-on-rails ruby ruby-on-rails-3 migration

mysql - remove - Cambiar un tipo de columna de Fecha a Fecha y hora durante la migración de ROR



rollback migration rails (5)

AFAIK, las migraciones están ahí para intentar remodelar los datos que le interesan (es decir, la producción) al realizar cambios de esquema. Entonces, a menos que eso sea incorrecto, y como dijo que no le importan los datos, ¿por qué no modificar el tipo de columna en la migración original desde la fecha a la fecha y hora y volver a ejecutar la migración? (Espero que tengas pruebas :)).

Necesito cambiar mi tipo de columna de fecha a fecha y hora para una aplicación que estoy creando. No me importan los datos ya que todavía se están desarrollando.

¿Cómo puedo hacer esto?


Además, si está usando Rails 3 o más reciente, no tiene que usar los métodos de up y down . Solo puedes usar el change :

class ChangeFormatInMyTable < ActiveRecord::Migration def change change_column :my_table, :my_column, :my_new_type end end


En Rails 3.2 y Rails 4, la popular respuesta de Benjamin tiene una sintaxis ligeramente diferente.

Primero en tu terminal:

$ rails g migration change_date_format_in_my_table

Luego en su archivo de migración:

class ChangeDateFormatInMyTable < ActiveRecord::Migration def up change_column :my_table, :my_column, :datetime end def down change_column :my_table, :my_column, :date end end


Hay un método change_column , simplemente ejecútelo en su migración con datetime como un nuevo tipo.

change_column(:my_table, :my_column, :my_new_type)


Primero en tu terminal:

rails g migration change_date_format_in_my_table

Luego en su archivo de migración:

Para rieles> = 3.2:

class ChangeDateFormatInMyTable < ActiveRecord::Migration def up change_column :my_table, :my_column, :datetime end def down change_column :my_table, :my_column, :date end end