Pracuję nad aplikacją internetową Ruby on Rails 3 na Heroku. Jak opróżnić bazę danych?
źródło
Pracuję nad aplikacją internetową Ruby on Rails 3 na Heroku. Jak opróżnić bazę danych?
Aby usunąć bazę danych, jeśli używasz SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Teraz, aby odtworzyć bazę danych bez niczego:
$ heroku run rake db:migrate
Aby wypełnić bazę danych danymi źródłowymi:
$ heroku run rake db:seed
---LUB---
Możesz połączyć dwie ostatnie ( migrację i seed ) w jedną akcję, wykonując to:
$ heroku run rake db:setup
Edytuj 18.04.2014: rake db:setup
nie działa z Rails 4, nie działa z Couldn't create database error
.
Edytuj 2014-10-09: Możesz używać rake db:setup
z Rails 4. Daje to Couldn't create database
błąd (ponieważ baza danych została już utworzona za pomocą heroku pg:reset
polecenia). Ale ładuje również schemat bazy danych i nasiona po komunikacie o błędzie.
Możesz to zrobić za pomocą dowolnej komendy rake, ale są wyjątki. Na przykład db:reset
nie działa przez heroku run rake
. Zamiast tego musisz użyć pg:reset
.
Więcej informacji można znaleźć w dokumentacji Heroku:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku wycofało już tę
--db
opcję, więc użyj teraz:To trochę mylące, ponieważ używasz dosłownego tekstu,
SHARED_DATABASE
ale tam, 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, używasz:źródło
SHARED_DATABASE
Aby usunąć bazę danych:
Aby ponownie utworzyć bazę danych:
Aby zainicjować bazę danych:
**Ostatni krok
źródło
heroku run rake db:migrate
nie tworzy już bazy danychPrąd, tj. Sposób na 2017 r. To:
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
źródło
heroku run rake db:migrate db:seed
Teraz polecenie jest
w ten sposób możesz określić bazę danych aplikacji, którą chcesz zresetować. Potem możesz biec
lub bezpośrednio dla obu powyższych poleceń
A teraz ostatni krok do ponownego uruchomienia aplikacji
źródło
Skontaktowałem się z obsługą Heroku, a oni potwierdzili, że jest to błąd związany z najnowszym klejnotem (używam heroku-2.26.2)
Zmień wersję za pomocą następujących poleceń:
Jeśli masz już zainstalowanych wiele klejnotów, możesz otrzymać:
Po prostu odinstaluj # 2 i uruchom ponownie polecenie. Radość!
źródło
Kompletna odpowiedź (dla użytkowników z multi-db):
heroku pg: info - które wyjścia
heroku pg: reset HEROKU_POSTGRESQL_RED - potwierdź nazwę aplikacji
Więcej informacji można znaleźć w: https://devcenter.heroku.com/articles/heroku-postgresql
źródło
Teraz różni się od Heroku. Spróbuj: heroku pg: reset DATABASE --confirm
źródło
Dzisiaj polecenie
nie działa dla wspólnych planów, rozwiązuję za pomocą
źródło
Zaloguj się do swojej bazy danych, używając
heroku pg:psql
i wpisz następujące polecenia:źródło
Teraz można również zresetować bazę danych za pomocą interfejsu internetowego.
Wejdź na dashboard.heroku.com, wybierz aplikację, a następnie znajdziesz bazę danych w kategorii dodatków, kliknij ją, a następnie możesz zresetować bazę danych.
źródło
Sprawdź swoją wersję heroku. Właśnie zaktualizowałem mój do 2.29.0 w następujący sposób:
Teraz możesz uruchomić:
Następnie utwórz bazę danych i umieść ją w jednym poleceniu:
Teraz uruchom ponownie i wypróbuj aplikację:
źródło
To działało dla mnie.
1. wyczyść db.
Po uruchomieniu musisz ponownie wpisać nazwę aplikacji, aby potwierdzić.
2. migruj bazę danych, aby ponownie utworzyć.
3. dodaj dane nasion do db.
źródło
Jeśli wolisz korzystać ze strony internetowej Heroku:
źródło
Zakładając, że chcesz zresetować bazę danych PostgreSQL i ustawić ją ponownie, użyj:
aby wyświetlić listę aplikacji w Heroku. Znajdź nazwę swojej bieżącej aplikacji (
application_name
). Następnie uruchomićaby uzyskać nazwę swoich baz danych. Przykładem może być
Wreszcie podane
application_name
idatabase_url
należy uruchomićźródło
Jeśli jesteś zalogowany z konsoli, wykona to zadanie w najnowszym pasku narzędzi heroku,
heroku pg: reset --confirm nazwa-bazy danych
źródło
Zawsze robię to z jednowierszowym „heroku pg: reset DATABASE”.
źródło
Najlepszym rozwiązaniem będzie Twój problem
nie jest wymagane, ale terminal zawsze pyta mnie o wykonanie tego polecenia.
Po tym poleceniu będziesz miał czystą db, bez struktury i innych rzeczy, po czym będziesz mógł uruchomić
lub
źródło