Migración de DATOS, no solo esquemas, Rails

Algunas veces,datos Se requieren migraciones. A medida que pasa el tiempo, los cambios de código y las migraciones que usan su modelo de dominio ya no son válidos y las migraciones fallan. ¿Cuáles son las mejores prácticas para migrar datos?

Intenté hacer un ejemplo para aclarar el problema:

Considera esto. Tienes una migracion

class ChangeFromPartnerAppliedToAppliedAt < ActiveRecord::Migration
  def up
    User.all.each do |user|
      user.applied_at = user.partner_application_at
      user.save
   end
 end

Esto funciona perfectamente bien, por supuesto. Más tarde, necesitas un cambio de esquema

class AddAcceptanceConfirmedAt < ActiveRecord::Migration
  def change
    add_column :users, :acceptance_confirmed_at, :datetime
  end
end

class User < ActiveRecord::Base
  before_save :do_something_with_acceptance_confirmed_at
end

Para ti, no hay problema. Funciona perfectamente. Pero si tu compañero de trabajo tira de estos dos hoy,Aún no se ha ejecutado la primera migración., obtendrá este error al ejecutar la primera migración:

rake aborted!
An error has occurred, this and all later migrations canceled:
undefined method `acceptance_confirmed_at=' for #<User:0x007f85902346d8>

Eso no es ser un jugador de equipo, él arreglará el error que introdujiste. ¿Qué deberías haber hecho?

Respuestas a la pregunta(3)

Su respuesta a la pregunta