Моя миграция прервалась после переименования модели, я больше не могу запустить db: create - PullRequest
0 голосов
/ 23 августа 2011

вот что случилось. Раньше у меня была Модель с именем Message, затем я хотел переименовать ее, поэтому создал миграцию, которая переименовала эту таблицу из Message в Thread. У меня были более поздние миграции, которые затем добавили в эту таблицу.

Это сработало, в терминах db: migrate, чтобы двигаться вперед с нашими существующими базами данных. Теперь я заметил, что когда я делаю db: create, чтобы создать новый db, он терпит неудачу, поскольку rails создает Message, затем, когда он добавляет поле к сообщению, я получаю:

uninitialized constant AddActiveMessageIdToWalls::Message

Мне кажется, проблема в том, что я также переименовал все контроллеры и модели из сообщения в поток, и теперь при миграции не удается найти модель при миграции? Это звучит правильно?

Как вы справляетесь с этим в мире рельсов? Спасибо

Ответы [ 2 ]

3 голосов
/ 23 августа 2011

Мне нравится обновлять свой db / schema.rb, чтобы избежать этого. Поэтому, когда мне нужно создать БД в новой среде, мне просто нужно сделать rake db:create и rake db:schema:load. Миграция не требуется.

0 голосов
/ 23 августа 2011

самое простое решение: просто добавьте пустое сообщение

... migration file ...
class Message < ActiveRecord::Base;end
...