Jak opróżnić bazę danych Heroku
Pracuję nad webapp Ruby on Rails 3 Na Heroku. Jak opróżnić bazę danych?
18 answers
Aby usunąć bazę danych, jeśli używasz SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Teraz odtworzyć bazę danych z niczym w niej:
$ heroku run rake db:migrate
Do uzupełnić bazę danych o dane nasion:
$ heroku run rake db:seed
- - - lub - - -
Możesz połączyć dwa ostatnie (migrate & seed) w jedną akcję wykonując to:
$ heroku run rake db:setup
Edytuj 2014-04-18: rake db:setup
nie działa z Rails 4, nie działa z Couldn't create database error
.
Edit 2014-10-09: Ty może używać rake db:setup
z Rails 4. To daje błąd Couldn't create database
(ponieważ baza danych została już utworzona przy użyciu polecenia heroku pg:reset
). Ale ładuje również schemat bazy danych i nasiona po komunikacie o błędzie.
Możesz to zrobić praktycznie za pomocą dowolnego polecenia rake, ale są wyjątki. Na przykład db:reset
nie działa przez heroku run rake
. Musisz zamiast tego użyć pg:reset
.
Więcej informacji można znaleźć w dokumentacji Heroku:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-25 06:01:48
Heroku wycofała opcję --db
teraz, więc teraz użyj:
heroku pg:reset DATABASE_URL --confirm {the name of your app}
To trochę mylące, ponieważ używasz dosłownego tekstu SHARED_DATABASE
, ale gdzie napisałem {the name of your app}
zastąp nazwę swojej aplikacji. Na przykład, jeśli Twoja aplikacja nazywa się my_great_app, To używasz:
heroku pg:reset DATABASE_URL --confirm my_great_app
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-22 07:00:03
Aby upuścić bazę danych:
$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP
Aby odtworzyć bazę danych:
$ heroku run rake db:migrate
Do zalążka bazy danych:
$ heroku run rake db:seed
**ostatni krok
$ heroku restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-24 15:28:05
Prąd, czyli 2017 sposób na to jest:
heroku pg:reset DATABASE
Https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-24 11:26:11
Teraz Komenda
heroku pg:reset DATABASE_URL --confirm your_app_name
W ten sposób możesz określić, który dB aplikacji chcesz zresetować. Następnie możesz uruchomić
heroku run rake db:migrate
heroku run rake db:seed
Lub bezpośrednio dla obu powyższych poleceń
heroku run rake db:setup
A teraz ostatni krok do ponownego uruchomienia aplikacji
heroku restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-26 18:04:44
Skontaktowałem się ze wsparciem Heroku i potwierdzili, że jest to błąd z najnowszym klejnotem (używam heroku-2.26.2)
Charlie-zdajemy sobie sprawę z tego problemu z klejnotem 'heroku' i jesteśmy pracuję nad naprawą.
Oto problem, jeśli chcesz podążać za - https://github.com/heroku/heroku/issues/356
Obniżenie wersji do wcześniejszej wersji klejnotu 'heroku' powinno pomóc. Używam v2. 25. 0 przez większość dnia bez problem.
Downgrade z następującymi poleceniami:
gem uninstall heroku
gem install heroku --version 2.25.0
Jeśli masz już zainstalowanych kilka klejnotów, możesz otrzymać:
Select gem to uninstall: 1. heroku-2.25.0 2. heroku-2.26.2 3. All versions
Po prostu odinstaluj #2 i uruchom ponownie polecenie. Joy!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-09 03:11:19
Odpowiedź pełna jest (dla użytkowników z multi-db):
Heroku pg: info - które Wyjście
=== HEROKU_POSTGRESQL_RED Plan Basic
Status dostępny
Heroku pg: reset HEROKU_POSTGRESQL_RED --confirm app_name
Więcej informacji można znaleźć w: https://devcenter.heroku.com/articles/heroku-postgresql
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-26 19:48:53
Teraz jest inaczej z heroku. Spróbuj: heroku pg: reset bazy danych --confirm
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-10 01:13:56
Dzisiaj Komenda
heroku pg:reset --db SHARED_DATABASE_URL
Nie działa dla wspólnych planów, rozwiązuję za pomocą
heroku pg:reset SHARED_DATABASE
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-19 16:51:34
Zaloguj się do swojego DB używając
heroku pg:psql
i wpisz następujące polecenia:
drop schema public cascade;
create schema public;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-06 15:53:08
Teraz możliwe jest również Resetowanie bazy danych poprzez ich interfejs internetowy.
Idź do dashboard.heroku.com Wybierz swoją aplikację, a następnie znajdziesz bazę danych w kategorii Dodatki, kliknij na nią, a następnie możesz zresetować bazę danych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-17 18:57:15
Sprawdź swoją wersję heroku. Po prostu zaktualizowałem Mój do 2.29.0, w następujący sposób:
heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3
Teraz możesz uruchomić:
heroku pg:reset DATABASE --confirm YOUR_APP_NAME
Następnie utwórz swoją bazę danych i zalej ją jednym poleceniem:
heroku run rake db:setup
Teraz uruchom ponownie i wypróbuj aplikację:
heroku restart
heroku open
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-03 21:40:48
To mi się udało.
1.Wyczyść db.
heroku pg:reset --app YOUR_APP
Po uruchomieniu, że trzeba będzie wpisać nazwę aplikacji ponownie, aby potwierdzić.
2.migrate db to recreate.
heroku run rake db:migrate --app YOUR_APP
3.Dodaj dane seed do db.
heroku run rake db:seed --app YOUR_APP
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-28 20:12:51
Zakładając, że chcesz zresetować bazę danych PostgreSQL i ustawić ją z powrotem, użyj:
heroku apps
Aby wystawić swoje aplikacje na Heroku. Znajdź nazwę bieżącej aplikacji (application_name
). Następnie uruchom
heroku config | grep POSTGRESQL
Aby uzyskać nazwę swoich baz danych. Przykładem może być
HEROKU_POSTGRESQL_WHITE_URL
Wreszcie, biorąc pod uwagę application_name
i database_url
, należy uruchomić
heroku pg:reset `database_url` --confirm `application_name`
heroku run rake db:migrate
heroku restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-29 02:03:55
W przypadku, gdy wolisz korzystać ze strony Heroku:
- Idź do https://postgres.heroku.com/databases
- Wybierz bazę danych, którą chcesz zresetować
- Kliknij przycisk Ustawienia w prawym górnym rogu
- kliknij "Resetuj bazę danych", jak pokazano poniżej:
- wpisz "RESET" i naciśnij ok
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 10:51:47
Jeśli jesteś zalogowany z konsoli, to zrobi to zadanie w najnowszym Heroku toolbelt,
Heroku pg: reset --confirm database-name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-22 20:22:33
Zawsze robię to z jednowierszowym 'heroku pg: reset bazy danych'.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-18 15:22:36
Najlepszym rozwiązaniem dla ciebie problemu będzie
heroku pg:reset -r heroku --confirm your_heroku_app_name
-- confirm your_heroku_app_name
Nie jest wymagane, ale terminal zawsze prosi mnie o wykonanie tej komendy.
Po tym poleceniu będziesz miał czysty db, bez struktury i takich tam, po tym możesz uruchomić
heroku run rake db:schema:load -r heroku
Lub
heroku run rake db:migrate -r heroku
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-03 07:17:06