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:
Ответ 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
Ответ 4
Ток, т.е. 2017 способ сделать это:
heroku pg:reset DATABASE
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
Ответ 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 базу данных.
Ответ 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
Ответ 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