Как очистить БД в герою

Im работает над RoR3 webapp на геройку. Как очистить базу данных?

Ответ 1

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

$ heroku pg:reset DATABASE

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

$ 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:

Запуск команд рейка

Reset Postgres DB

Ответ 2

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

Ответ 3

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

$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP

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

$ heroku run rake db:migrate

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

$ heroku run rake db:seed

** Заключительный шаг

$ heroku restart

Ответ 5

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

Чарли - мы знаем об этой проблеме с жемчужиной "героку" и чтобы исправить это.

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

Чтобы помочь более ранней версии драгоценности "героку", нужно помочь. Я использую 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 и запустите команду. Радость!

Ответ 6

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

heroku pg:reset DATABASE_URL --confirm your_app_name

таким образом вы можете указать, какое приложение db вы хотите использовать reset. Затем вы можете запустить

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

или прямой для обеих команд

heroku run rake db:setup 

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

heroku restart

Ответ 7

Полный ответ (для пользователей с multi-db):

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

=== HEROKU_POSTGRESQL_RED < - это DB
План Basic
Доступный статус

heroku pg: reset HEROKU_POSTGRESQL_RED --confirm app_name

Дополнительная информация находится в: https://devcenter.heroku.com/articles/heroku-postgresql

Ответ 8

Теперь это отличается от героку. Пытаться:   heroku pg: reset DATABASE --confirm

Ответ 9

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

heroku pg:reset --db SHARED_DATABASE_URL

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

heroku pg:reset SHARED_DATABASE

Ответ 10

Войдите в свою БД, используя heroku pg:psql и введите следующие команды:

drop schema public cascade;
create schema public;

Ответ 11

Проверьте версию герою. Я только что обновил мой до 2.29.0, следующим образом:

heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3

Теперь вы можете запустить:

heroku pg:reset DATABASE --confirm YOUR_APP_NAME

Затем создайте свою базу данных и запустите ее в одной команде:

heroku run rake db:setup

Теперь перезапустите и попробуйте приложение:

heroku restart
heroku open

Ответ 12

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

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

Reset База данных Heroku

Ответ 13

Предполагая, что вы хотите reset создать базу данных PostgreSQL и установить ее резервную копию, используйте:

heroku apps

чтобы перечислить ваши заявки на Heroku. Найдите имя текущего приложения (application_name). Затем запустите

heroku config | grep POSTGRESQL

чтобы получить имя ваших баз данных. Примером может быть

HEROKU_POSTGRESQL_WHITE_URL

Наконец, учитывая application_name и database_url, вы должны запустить

heroku pg:reset `database_url` --confirm `application_name`
heroku run rake db:migrate
heroku restart

Ответ 14

Если вы предпочитаете использовать веб-сайт Heroku:

  • Перейдите к https://postgres.heroku.com/databases
  • Выберите базу данных, которую вы хотите использовать reset
  • Нажмите кнопку настроек в правом верхнем углу
  • Нажмите "Reset База данных", как показано ниже:
  • введите RESET "и нажмите ok

база данных героя  reset

Ответ 15

Это то, что сработало для меня. 1.clear db.

heroku pg:reset --app YOUR_APP

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

2.migrate db для воссоздания.

heroku run rake db:migrate  --app YOUR_APP

3.add данные семени db.

heroku run rake db:seed --app YOUR_APP

Ответ 16

Если вы вошли в систему с консоли, это выполнит работу в новейшей инструментальной панели heroku,

heroku pg: reset --confirm имя-базы данных

Ответ 17

Я всегда делаю это с помощью однострочного героя pg: reset DATABASE '.

Ответ 18

Лучшее решение для вас будет

heroku pg:reset -r heroku  --confirm your_heroku_app_name

- подтвердить your_heroku_app_name

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

После этой команды у вас будет чистый db, без структуры и т.д., после чего вы можете запустить

heroku run rake db:schema:load -r heroku

или

heroku run rake db:migrate -r heroku