У меня есть следующий переход:Rails миграции не применяется
class MoveInventoryItems < ActiveRecord::Migration
def up
schraenke = ('F'..'J')
List::Inventory::Item.find_each do |item|
if schraenke.include?(item.location[0])
item.location[0] = item.location[0].next.next
item.save!
end
end
end
end
Я пытаюсь изменить переменную для конкретных элементов. Когда я пытаюсь вывести элемент после сохранения, он выглядит правильно. При запуске миграции он не обнаруживает ошибок. Но, очевидно, он действительно не обновляется, поскольку старые значения все еще отображаются при запуске сервера.
Так что мой вопрос: как миграция не может обновлять данные?
Все еще ничего не меняет. Может быть, «rake db: upgrade» каким-то образом применяется к неправильной базе данных? – Magnus
Теперь он не обновляется, так как эта миграция уже запущена, а ее версия хранится в схеме, решение заключается в том, чтобы разбить db: rollback, а затем запустить его снова –