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 № 1Moż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.