Я идиот... вкрутил миграцию в Rails:
Мыслительные миграции будут работать как генераторы моделей (используя references:modelname
). Я сделал следующее:
$ rails g migration add_event_to_photos references:event
который создал миграцию
class AddEventToPhotos < ActiveRecord::Migration
def change
add_column :photos, :references, :event
end
end
И теперь моя база данных разработки (SQLite3) имеет столбец references
типа event
в таблице photos
.
И мой 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
Итак, как откатить и сохранить мои данные разработки в базе данных? Я даже был бы рад, если бы удалил бы таблицу фотографий, если бы это был мой единственный выбор... но не хочу, чтобы все это перестраивало. Что делать?
btw- для тех, кто читает это, чтобы сделать ту же самую глупую ошибку... не надо! Используйте правильный генератор миграции:
$ rails g migration add_event_to_photos event_id:integer