/ / Jak opróżnić bazę danych Heroku i ponownie wypełnić - ruby-on-rails, baza danych, heroku

Jak opróżnić Heroku db i powtórzyć - ruby-on-rails, bazy danych, heroku

Widziałem niektóre odpowiedzi na to pytanie, ale żadna z nich nie działa dla mnie. Przypadkowo uciekłem heroku run rake db:seed dwa razy. I tak mają podwójną datę w mojej db. Chcę więc upuścić tabelę, ponownie przeprowadzić migrację i ponownie uruchomić seed (raz w tym czasie;)) Rozwiązania, które do tej pory widziałem, mówią mi, żebym biegał: heroku pg:reset SHARED_DATABASE lub heroku pg:reset SHARED_DATABASE --confirm <myAppName>. Oba z nich nie działają.

    heroku pg:reset SHARED_DATABASE
/usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:125:in `parse_config": undefined method `each" for nil:NilClass (NoMethodError)
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:116:in `parse_config"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:79:in `initialize"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:34:in `new"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:34:in `resolve_db"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/command/pg.rb:70:in `reset"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/command.rb:114:in `run"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/bin/heroku:14:in `<top (required)>"
from /usr/local/bin/heroku:19:in `load"
from /usr/local/bin/heroku:19:in `<main>"

Wszystko, co chcę zrobić, to porzucić tabelę, a następnie ponownie wypełnić ją moimi danymi początkowymi. Każda pomoc byłaby bardzo mile widziana.

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz po prostu wejść do konsoli Heroku i usunąć dane początkowe.

heroku run console

I usuń wszystkie elementy w tabeli.


0 dla odpowiedzi nr 2

The heroku pg:reset jest poprawnym poleceniem, ale masz starą wersję klejnotu, możesz ją zaktualizować. Ponadto, przy najnowszym stosie Postgres, zmienna konfiguracyjna SHARED_DATABASE nie istnieje - the Dokumentacja Heroku mówi, że polecenie powinno być heroku pg:reset DATABASE.


0 dla odpowiedzi № 3

Znalazłem odpowiedź, która wydaje się działać. Z heroku run rake db:rollback Mogłem upuścić tabelę, a następnie przeprowadzić migrację i ponownie wysłać dane. Dzięki za wkład.


0 dla odpowiedzi nr 4

Sposób, w jaki otrzymuję nazwę zmiennej bazy danych z Heroku, jest uruchomiony heroku config | grep POSTGRESQL. Spowoduje to wyświetlenie nazwy zmiennej i jej adresu URL. Następnie możesz usunąć bazę danych, przechodząc heroku pg:reset <DATABASE> (co może być heroku pg:reset HEROKU_POSTGRESQL_CHARCOAL_URL, na przykład). Powinieneś być w stanie ponownie przeprowadzić migrację bazy danych i wypełnić ją, jak zwykle.