Подтвердить что ты не робот

Получение: "Миграции ждут, запустите" bin/rake db: migrate RAILS_ENV = development ", чтобы решить эту проблему". после клонирования и миграции проекта

Я клонировал свой проект. В комплекте с "bundle install", затем запустите "rake db: migrate". Я получаю эту ошибку: (когда я запускаю сервер рельсов и открываю свой браузер на localhost: 3000) "Миграции ждут, запустите" bin/rake db: migrate RAILS_ENV = development ", чтобы решить эту проблему."

Я проверил все миграции один за другим, и все они были выполнены без ошибок. Кроме того, после выполнения "rake db: migrate" не было обнаружено ошибок.

Это то, что я вижу при выполнении rake db: migrate: status"

Я нахожусь в среде разработки. Пожалуйста, дайте мне знать, если вам нужна какая-либо другая информация.

Я также попробовал "bundle exec rake db: migrate" и "bundle exec rake db: migrate: reset" в качестве "burngramma".

Любые подсказки, что вызывает ошибку?

4b9b3361

Ответ 1

Интересно. Вы запустили rake db: create? Предполагая, что вы используете sqlite3, сделайте следующее:

      rm -f db/*.sqlite3
      rake db:create
      RAILS_ENV=development rake db:migrate
      rails s -e development

Кроме того, можете ли вы указать содержимое вашего файла config/database.yml?

Изменить: Предупреждение! Очевидно, что вы потеряете существующие данные.

Ответ 2

После запуска команды migrate у меня все еще была ошибка.

Что сработало для меня, так это просто остановить сервер rails и запустить его снова.

Ответ 3

Перечислите выполненные миграции с помощью rake db:migrate:status и посмотрите, была ли выполнена каждая миграция. Вы можете попытаться отменить свою миграцию с помощью rake db:abort_if_pending_migrations и попытаться снова выполнить миграцию.

Ответ 4

Запуск rake db:migrate RAILS_ENV=test сделал это для меня

Ответ 5

1. Возможно, его по умолчанию в ruby2/rails4, но вы пробовали: bundle exec rake db:migrate?

2. Другим вариантом будет сброс всей базы данных - с помощью ПРЕДОСТЕРЕЖЕНИЯ! сбрасывает все данные также - bundle exec rake db:migrate:reset

+) Я бы просто удостоверился, что вы выполняете все в одном проекте env:

RAILS_ENV=development bundle exec rake db:migrate:reset
RAILS_ENV=development bundle exec rails s

Ответ 6

У меня была такая же ошибка в браузере, но, внимательно посмотрев сообщение об ошибке, я заметил, как у меня было лишнее пространство в комментариях и сообщениях переноса. Как только я удалил его, он работал отлично.

Ответ 7

Вот что сработало для меня:   -gem install rails -v 4.1.0 Внутри Gemfile:   -gem 'rails', '4.1.0' (замените для этого более новым/старым) Устанавливать и обновлять пакет  -bundle install  -объемлющее обновление В вашем приложении .rb: Удалить/Комментировать - config.active_record.raise_in_transactional_callbacks = true

выполнить грабли узла:  -bundle exec rake db: мигрировать Обновите свою страницу, и ошибка не исчезнет.

Ответ 8

Две причины: db: migrate: reset 'не работает для меня

1) loosing data 
2) we moved from php to rails, so we had an existing DB and the migrations were written on top of it not from the scratch

Итак, я попытался обновить таблицу "scheema_migrations" (mysql) со списком миграций (только значения версии), которые, как я был уверен, уже были запущены на моей базе данных (разработка), это может быть длительным процессом но он работает. Я бы не попытался это сделать на производстве.

Ответ 9

Я угадываю, ошибка в том, что вы создаете таблицу, которая уже существует, у меня была эта проблема раньше. Шаг 1 загляните в ошибку, когда вы грабли dv: migrate

Шаг 2 перейдите к модели, в которой создана эта таблица.

Шаг 3 добавьте drop_table: [ВАШ ТАБЛИЦ] прямо перед create_table: [ВАШ ТАБЛИЦА]

Шаг 2 run rake db: migrate

Шаг 3 удалите drop_table после завершения миграции.

Ответ 10

Когда я выполнил rake test и встретил ошибку:

"rake aborted! ActiveRecord:: PendingMigrationError: Миграции в ожидании. Чтобы решить эту проблему, запустите: bin/rake db: migrate RAILS_ENV = тест"

Я пробовал и добивался успеха:

rm -f db/*.sqlite3

rake db:create

RAILS_ENV=development rake db:migrate

rails s -e development

Ответ 11

Вы всегда можете запустить rake db: reset