Как я могу принудительно удалить таблицу из моей схемы? - PullRequest
0 голосов
/ 28 июня 2018

Я уничтожил модель Account и сделал многоэтапный откат для удаления соответствующей миграции учетных записей в БД. Однако, когда я делаю rails db: reset, автоматически добавляется таблица учетных записей вместе с примечанием об ожидающих миграциях:

    Dropped database 'db/development.sqlite3'
    Dropped database 'db/test.sqlite3'
    Created database 'db/development.sqlite3'
    Created database 'db/test.sqlite3'
    -- create_table("accounts", {:force=>:cascade})
       -> 0.0131s
    -- create_table("accounts", {:force=>:cascade})
       -> 0.0084s

Есть что-то, чего мне здесь не хватает? Я удалил ассоциации в других моделях перед удалением / откатом / сбросом БД.

1 Ответ

0 голосов
/ 28 июня 2018

Решено с помощью следующих шагов (не совсем уверен, почему этот порядок работал):

  1. Rake db: migrate: статус, чтобы увидеть, что не было миграции файлов с тем же номером, что и миграция в схеме.
  2. Rake db: migrate: down VERSION = [, который соответствует состоянию без файла и схеме]; это не удалось, и выходной файл был без миграции с номером версии: XXXX.
  3. Rails db: сброс
  4. Rake db: migrate: состояние (в данный момент миграции файлов больше нет в списке)
  5. Rails db: migrate: сброс
  6. Rails db: мигрировать, и все вернулось на круги своя.
...