Как решить: SQLException: нет такой таблицы: location: ALTER TABLE "location" ADD "user_id" integer - PullRequest
0 голосов
/ 28 апреля 2019

У меня проблемы с БД с рельсами.Когда я запускаю rails db:migrate, я получаю следующую ошибку:

add_column(:locations, :user_id, :integer)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: no such table: locations: ALTER TABLE "locations" ADD "user_id" integer

Кажется, проблема в том, что у меня есть миграция, которая пытается добавить :user_id в таблицу :locations, но эта таблица несуществует, потому что я удалил его, и поэтому его нет в схеме.Как мне это решить?Я всегда думал, что удаление миграции - плохая идея.

1 Ответ

1 голос
/ 28 апреля 2019

Это зависит. locations был создан и удален миграцией? Если это так, является ли неудачная миграция во времени между этими миграциями? Если ответ да , не следует его удалять.

С другой стороны, если вы удалили locations вручную или путем миграции до неудачной миграции, удалите ее, так как она не имеет смысла для вашей схемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...