#database #migration #heroku
#База данных #миграция #heroku
Вопрос:
Я пытался:
heroku rake db:migrate
и
heroku pg:push
Первое выдает мне ошибку PGError / rake aborted.
Есть ли способ полностью перестроить / перезагрузить мою базу данных с помощью heroku? Кажется, я не могу найти это в их документации.
РЕДАКТИРОВАТЬ: до этого у меня была рабочая база данных, но мои таблицы и связи изменились.
Ответ №1:
Если бы у вас была рабочая база данных, вы могли бы воссоздать свои таблицы из схемы:
heroku run rake db:schema:load
Если вы хотите просто сбросить базу данных на пустую:
heroku run rake db:create
Какую ошибку это выдает вам? Возможно, было бы полезнее попытаться решить эту проблему, а не стирать все.
Комментарии:
1. Похоже, что
rake db:migrate VERSION=0
затемheroku rake db:create
heroku позволил мне воссоздать базу данных. Спасибо @oded-harth и @felix2.
heroku rake
устарело в пользуheroku run rake
. По крайней мере, это то, о чем мне сообщило сообщение об ошибке.
Ответ №2:
Это должно быть обновлено, поскольку heroku rake
оно устарело. Используйте heroku run rake
сейчас. Смотрите ниже, по данным командной строки / stderr, по состоянию на сегодняшний день (8 марта 2013):
Неверно:
- ПОДСКАЗКА>
heroku rake db:migrate --app myApp
ПРЕДУПРЕЖДЕНИЕ: ‘heroku rake» устарел. Пожалуйста, используйте вместо этого ‘heroku run rake’.
Правильно:
- ПОДСКАЗКА>
heroku run rake db:migrate --app myApp
Запуск,
rake db:migrate
подключенный к терминалу … вверх, запустите.2810
Ответ №3:
Попробуйте:
heroku rake db:migrate VERSION=0
Это приведет вашу базу данных к начальной точке.
Ответ №4:
Вы можете заставить heroku запускаться непосредственно в Heroku webapp
и затем heroku run rails db:migrate
Ответ №5:
heroku run rake db:migrate -a appname
Комментарии:
1. Объясните ваш код, пожалуйста. Сам код мало о чем говорит.