#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:
Есть несколько способов сделать это. Если вы не запускали миграции, вы можете выполнить следующие шаги:
- Удалите миграции вручную.
- Выполните следующую команду:
rake db:migrate:down VERSION="20210308064215" AND rake db:migrate:down VERSION="20210309031327"
- Выполните следующую команду:
rails d migration devise_create_admins
Иrails d migration add_user_to_listing
Просто дайте мне знать, если это сработает для вас.