У меня есть серия миграций для рефакторинга в следующем выпуске.Некоторые миграции используются для перемещения столбцов.
Когда я запускаю миграции все сразу, определенный столбец в следующем примере никогда не копируется в новое место.
def up
add_column :buy_topics, :price, :integer
say_with_time 'Move price and value to buy/topics' do
bar = ProgressBar.new(Buy::Topic.count)
Buy::Topic.includes{topic}.find_each do |topic|
topic.price = topic.topic.price
topic.save
bar.increment!
end
end
remove_column :topics, :price
end
Хотя значения не копируются, столбцы все равно были созданы и успешно удалены.
Однако, если я запусту всю миграцию до предыдущей (например, rake db:migrate VERSION=XXXXXXXXn-1
), а затем запустите вручнуюэто одна конкретная миграция (rake db:migrate VERSION=XXXXXXXXn
), значения копируются между собой.
Итак, если я запускаю эту миграцию отдельно, она работает, иначе она не будет работать
Что может бытьпричина этого?