Я работаю над веб-приложением Ruby on Rails 3 для Heroku. Как очистить базу данных?
источник
Я работаю над веб-приложением Ruby on Rails 3 для Heroku. Как очистить базу данных?
Чтобы удалить базу данных, если вы используете SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Теперь для воссоздания базы данных, в которой ничего нет:
$ heroku run rake db:migrate
Чтобы заполнить базу данных вашими начальными данными:
$ heroku run rake db:seed
---ИЛИ---
Вы можете объединить последние два ( перенести и заполнить ) в одно действие, выполнив это:
$ heroku run rake db:setup
Edit 2014-04-18: rake db:setup
не работает с Rails 4, не работает сCouldn't create database error
.
Edit 2014-10-09: Вы можете использовать rake db:setup
с Rails 4. Это выдает Couldn't create database
ошибку (потому что база данных уже была создана с помощью heroku pg:reset
команды). Но он также загружает вашу схему базы данных и ваши семена после сообщения об ошибке.
Вы можете сделать это практически любой командой rake, но есть исключения. Например, db:reset
не работает через heroku run rake
. Вы должны использоватьpg:reset
вместо этого.
Более подробную информацию можно найти в документации Heroku:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku устарела
--db
, поэтому теперь используйте:Это немного сбивает с толку, потому что вы используете буквальный текст,
SHARED_DATABASE
но там, где я написал,{the name of your app}
замените название вашего приложения. Например, если ваше приложение называется my_great_app, вы используете:источник
SHARED_DATABASE
Чтобы удалить базу данных:
Чтобы воссоздать базу данных:
Чтобы заполнить базу данных:
**Заключительный этап
источник
heroku run rake db:migrate
больше не воссоздает базу данныхТока, т.е. 2017 способ сделать это:
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
источник
heroku run rake db:migrate db:seed
Теперь команда
таким образом, вы можете указать, какую базу данных приложения вы хотите сбросить. Тогда вы можете запустить
или направить обе вышеуказанные команды
А теперь последний шаг, чтобы перезапустить ваше приложение
источник
Я связался со службой поддержки Heroku, и они подтвердили, что это ошибка в последней версии гема (я использую heroku-2.26.2)
Понизьте рейтинг с помощью следующих команд:
Если у вас уже установлено несколько драгоценных камней, вам могут быть представлены:
Просто удалите # 2 и повторите команду. Радость!
источник
Полный ответ (для пользователей с несколькими БД):
heroku pg: информация - какие выходы
heroku pg: сбросить HEROKU_POSTGRESQL_RED - подтвердить app_name
Более подробная информация находится по адресу : https://devcenter.heroku.com/articles/heroku-postgresql
источник
Теперь это отличается от героку. Попробуйте: heroku pg: сбросить базу данных --confirm
источник
Сегодня команда
не работает для общих планов, я решил использовать
источник
Войдите в свою БД, используя
heroku pg:psql
и введите следующие команды:источник
Теперь также возможно сбросить базу данных через их веб-интерфейс.
Перейдите на dashboard.heroku.com, выберите свое приложение, и затем вы найдете базу данных в категории надстроек, щелкните по ней и затем сможете сбросить базу данных.
источник
Проверьте свою версию героку. Я только что обновил мой до 2.29.0 следующим образом:
Теперь вы можете запустить:
Затем создайте базу данных и заполните ее одной командой:
Теперь перезагрузите и попробуйте ваше приложение:
источник
Это то, что сработало для меня.
1. ясно, БД.
После запуска вам придется снова ввести имя вашего приложения для подтверждения.
2. Миграция БД для воссоздания.
3. добавить начальные данные в БД.
источник
Если вы предпочитаете использовать веб-сайт Heroku:
источник
Предполагая, что вы хотите сбросить базу данных PostgreSQL и восстановить ее, используйте:
перечислить ваши заявки на Heroku. Найдите название вашего текущего приложения (
application_name
). Тогда бегичтобы получить название ваших баз данных. Примером может быть
Наконец, учитывая,
application_name
иdatabase_url
вы должны запуститьисточник
Если вы вошли в систему с консоли, это сделает работу в последнем инструментальном поясе heroku,
heroku pg: сбросить - подтвердить имя базы данных
источник
Я всегда делаю это с помощью однострочного «heroku pg: reset DATABASE».
источник
Лучшее решение для вашей проблемы будет
не требуется, но терминал всегда просит меня выполнить эту команду.
После этой команды у вас будет чистый БД, без структуры и прочее, после этого вы можете запустить
или
источник