Я выполнял новую миграцию, чтобы создать связь между двумя объектами в ROR. Я использую неправильный объект при миграции, и мне нужно его удалить

#ruby-on-rails #migration

#ruby-on-rails #миграция

Вопрос:

Я выполнял новую миграцию, чтобы создать связь между двумя объектами в ROR. Я использую неправильный объект при миграции, и мне нужно его удалить. Как удалить отложенную миграцию?

Я сделал bin/rails db:rollback , и теперь он говорит, что миграция в ожидании.

 
Migrations are pending. To resolve this issue, run:

        bin/rails db:migrate RAILS_ENV=development

You have 2 pending migrations:

20210308064215_devise_create_admins.rb
20210309031327_add_user_to_listing.rb

): ```

 

Комментарии:

1. Это зависит от того, были ли ваши миграции перенесены в производство. Если вы выполнили локальную миграцию и откатили ее, просто убедитесь, что база данных выглядит хорошо, и удалите два файла миграции. Если вы перенесли миграции в производство, то я предпочитаю создавать новые миграции, которые отменяют предыдущие миграции. Это позволяет не подключаться к рабочей консоли, чтобы откатить непосредственно производственную базу данных.

Ответ №1:

Есть несколько способов сделать это. Если вы не запускали миграции, вы можете выполнить следующие шаги:

  1. Удалите миграции вручную.
  2. Выполните следующую команду: rake db:migrate:down VERSION="20210308064215" AND rake db:migrate:down VERSION="20210309031327"
  3. Выполните следующую команду: rails d migration devise_create_admins И rails d migration add_user_to_listing

Просто дайте мне знать, если это сработает для вас.