Rails: как откатить неудачную миграцию

Я идиот ... напортачил с миграцией в Rails:

думая, что миграции будут работать как генераторы моделей (используя ссылки: имя модели ) Я сделал следующее:

$ rails g migration add_event_to_photos references:event

, который создал миграцию

class AddEventToPhotos < ActiveRecord::Migration
  def change
    add_column :photos, :references, :event
  end
end

И теперь моя база данных разработки ( SQLite3 ) имеет столбец ссылок типа событие на фотографиях .

А в моем schema.rb посередине есть строчка:

# Could not dump table "photos" because of following StandardError
#   Unknown type 'event' for column 'references'

rake db: rollback бессильна против этого:

$ rake db:rollback
==  AddEventToPhotos: reverting ===============================================
-- remove_column("photos", :references)
rake aborted!
An error has occurred, this and all later migrations canceled:

undefined method `to_sym' for nil:NilClass

Итак, как откатить и сохранить мои данные разработки в база данных? Я даже был бы счастлив уничтожить таблицу с фотографиями, если бы это был мой единственный выбор ... но не хочу, чтобы все это перестраивалось. Что делать?


кстати - для любого, кто читает это, собирается совершить такую ​​же глупую ошибку ... не надо! Используйте правильный генератор миграции:

$ rails g migration add_event_to_photos event_id:integer
14
задан Meltemi 10 August 2011 в 22:15
поделиться