Перенос данных - не только схема, Rails

Иногда,данные миграции необходимы. С течением времени изменения кода и миграции с использованием модели вашего домена перестают действовать, и миграции завершаются неудачно. Каковы лучшие практики для миграции данных?

Я попытался сделать пример, чтобы прояснить проблему:

Учти это. У вас есть миграция

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

это работает отлично, конечно. Позже вам нужно изменить схему

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

Для тебя нет проблем. Работает отлично. Но если ваш коллега тянет их обоих сегодня,еще не выполнив первую миграциюонВы получите эту ошибку при запуске первой миграции:

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

Тот'он не командный игрок, онЯ буду исправлять ошибку, которую вы ввели. Что ты должен был сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос