Я запустил rake db:migrate
, и все мои миграции выполнялись. Однако, когда я пытаюсь запустить rake db:test:prepare
я получаю ошибку:Рельсы в ожидании миграции в rake db: test: подготовить
You have 1 pending migrations:
20130724211328 CreateGalleries
Run `rake db:migrate` to update your database then try again.
Затем выполняется rake db:migrate
снова выдает ошибку:
PG::Error: ERROR: relation "galleries" already exists...
Но в консоли можно создавать и манипулировать модели Gallery точно, как показано в миграции CreateGalleries. Таблица не создается или даже не упоминается ни в каких других миграциях.
Кажется, миграция прошла нормально, но не регистрировалась. Любые идеи, как это исправить?
EDIT
Я решил это с rake db:drop db:create db:migrate
rake db:test:prepare
затем, но я счастлив, чтобы дать решение для тех, кто может пролить свет на то, что вызвало проблемы в первую очередь.
Что было бы примером ненадлежащего исполнения? Модель отвечает точно, как я хочу в консоли. Существуют ли другие нефункциональные операции (например, отслеживание), которые могут выходить из строя, но при этом остаются неизменными? – tyler
Примером может быть то, что ваша таблица будет создана красиво, но вы сделали небольшую опечатку в имени столбца, который должен быть проиндексирован (используя 'add_index'). Миграция не завершена, но поскольку таблица есть, вы не можете запустить ее снова, чтобы завершить ее, не исправляя ее вручную. –
Не отбросит ли миграция и отменяет изменения, если все это не работает? – tyler