У меня была та же проблема, потому что вместо этого "$ rails генерирует миграцию add_reset_to_users reset_digest: string \ reset_sent_at: datetime «я пропустил набранный» $ rails генерировать миграцию add_reset_to_users reset_digest: string \ reset_sent_at: datetime ". Сначала я удалил миграцию« reset »с помощью браузера БД для SQLite, затем я проверил файл schema.rb, в котором вместо« t » .string "reset_digest" "это было" т. "reset_digest" ". Я отредактировал его до" t.string ", затем rails db: migrate VERSION =" previous one ", и это сработало. Теперь моя последняя миграция не работает. Я удалил свой предыдущий файл миграции, а затем выполнил" $ rails генерировать миграцию add_reset_to_users reset_digest: строка reset_sent_at: datetime ", я получил файл миграции, как я хотел сейчас.

ользую Rails 3.0.3 и случайно сделал опечатку в своей миграции: я создал миграцию, которая создает новый столбец с типомboolen (это должно было бытьboolean). Я запустил миграцию, и Rails не предупредил меня, что это столбец недопустимого типа, что я мог поклясться, что он делал в предыдущих версиях?

Теперь, когда я пытаюсь добавить, удалить или изменить что-либо в процессе миграции, я получаю следующую ошибку:

неопределенный метод `to_sym 'для nil: NilClass

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

Как я могу эффективно удалить столбец без жалоб Rails (и желательно без копания в базе данных вручную)?

Ответы на вопрос(9)

Ваш ответ на вопрос