Я идиот ... напортачил с миграцией в 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