Как очистить базу данных Heroku - PullRequest
346 голосов
/ 27 января 2011

Я работаю над веб-приложением Ruby on Rails 3 для Heroku.Как очистить базу данных?

Ответы [ 18 ]

675 голосов
/ 27 января 2011

Чтобы удалить базу данных, если вы используете SHARED_DATABASE_URL:

$ heroku pg:reset DATABASE_URL

Теперь пересоздайте базу данных, в которой ничего нет:

$ heroku run rake db:migrate  

Чтобы заполнить базу данных вашими начальными данными:

$ heroku run rake db:seed

--- ИЛИ ---

Вы можете объединить два последних ( migrate & seed) в одно действие, выполнив это:

$ heroku run rake db:setup

Редактировать 2014-04-18: rake db:setup не работает с Rails 4, не работает с Couldn't create database error.

Редактировать 2014-10-09: Вы можете использовать rake db:setup с Rails 4. Это выдает ошибку Couldn't create database (поскольку база данных уже была создана с использованием heroku pg:reset команда).Но он также загружает вашу схему базы данных и ваши семена после сообщения об ошибке.

Вы можете сделать это практически любой командой rake, но есть исключения.Например, db:reset не работает через heroku run rake.Вместо этого вы должны использовать pg:reset.

Дополнительную информацию можно найти в документации Heroku:

Запуск команд Rake

Сброс PostgresDB

96 голосов
/ 07 сентября 2011

Heroku устарела для опции --db, поэтому теперь используйте:

heroku pg:reset DATABASE_URL --confirm {the name of your app}

Это немного сбивает с толку, потому что вы используете буквальный текст SHARED_DATABASE, но там, где я написал {the name of your app}, подставьте название вашего приложения. Например, если ваше приложение называется my_great_app, вы используете:

heroku pg:reset DATABASE_URL --confirm my_great_app
63 голосов
/ 30 ноября 2011

Чтобы удалить базу данных:

$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP

Чтобы воссоздать базу данных:

$ heroku run rake db:migrate

Чтобы заполнить базу данных:

$ heroku run rake db:seed

** Последний шаг

$ heroku restart
42 голосов
/ 01 февраля 2013

ток, т.е.2017 способ сделать это:

heroku pg:reset DATABASE

https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset

12 голосов
/ 26 августа 2013

Теперь команда

heroku pg:reset DATABASE_URL --confirm your_app_name

. Таким образом, вы можете указать, какую базу данных приложения вы хотите сбросить.Затем вы можете запустить

heroku run rake db:migrate 
heroku run rake db:seed 

или указать обе вышеуказанные команды

heroku run rake db:setup 

А теперь последний шаг для перезапуска вашего приложения

heroku restart
11 голосов
/ 09 июня 2012

Я связался со службой поддержки Heroku, и они подтвердили, что это баг с последним гемом (я использую heroku-2.26.2)

Чарли - мы знаем об этой проблеме с самоцветом 'heroku' и работает над тем, чтобы это исправить.

Вот проблема, если вы хотите продолжить - https://github.com/heroku/heroku/issues/356

Должно помочь понижение до более ранней версии драгоценного камня 'heroku'. Я использую v2.25.0 большую часть сегодняшнего дня без проблем.

Понижение с помощью следующих команд:

gem uninstall heroku

gem install heroku --version 2.25.0

Если у вас уже установлено несколько драгоценных камней, вам может быть выдано:

Select gem to uninstall:
 1. heroku-2.25.0
 2. heroku-2.26.2
 3. All versions

Просто удалите # 2 и повторите команду. Радость!

9 голосов
/ 26 ноября 2013

Ответ complete (для пользователей с multi-db):

heroku pg: info - который выводит

=== HEROKU_POSTGRESQL_RED <- это DB <br>Plan Basic
Статус доступен

heroku pg: сбросить HEROKU_POSTGRESQL_RED - подтвердить имя_приложения

Более подробную информацию можно найти в: https://devcenter.heroku.com/articles/heroku-postgresql

8 голосов
/ 10 сентября 2012

Теперь это отличается от героку. Пытаться: heroku pg: сброс базы данных --confirm

7 голосов
/ 19 августа 2011

Сегодня команда

heroku pg:reset --db SHARED_DATABASE_URL

не работает с общими планами, я решил использовать

heroku pg:reset SHARED_DATABASE
6 голосов
/ 17 августа 2015

Теперь также возможно сбросить базу данных через их веб-интерфейс.

Перейдите на dashboard.heroku.com , выберите свое приложение, и затем вы найдете базу данных в категории надстроек, нажмите на нее и затем сможете сбросить базу данных.

Reset Heroku Database

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...