2012-06-20 3 views
5

próbuję naciskać moim lokalnym PostgreSQL db do mojego app Heroku, a po Heroku przewodnika, zrobiłem heroku db:push ale pojawia się następujący błąd:Heroku db: problemy Push

[email protected]:~$ heroku db:push 
! Taps Load Error: cannot load such file -- sqlite3 
! You may need to install or update the taps gem to use db commands. 
! On most systems this will be: 
!  
! sudo gem install taps 

Próbowałem już sudo gem install taps, sudo gem install sqlite3, ale nie mogę tego zrobić. Wszelkie pomysły, dlaczego próbuje załadować sqlite3 db, gdy używam postgres?

Odpowiedz

14

Taps nie jest już zalecanym narzędziem do użycia podczas migracji danych między instancjami PostgreSQL. Proszę zamiast tego podać heroku-pg-transfer.

To działa tylko wtedy, gdy używasz jednego z production databases lub nowego Heroku postgres dev plan. Jeśli nadal korzystasz ze starszej wersji udostępnianej bazy danych, sugerowałbym przejście na nowy plan deweloperski.

pierwsze, znaleźć adres URL do db na Heroku:

$ heroku config:get DATABASE_URL 
postgres://yada:[email protected]:5432/123 

następnie przenieść z lokalnego db do db Heroku:

$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer 
$ heroku pg:transfer -f postgres://localhost/dbname -t postgres://yada:[email protected]/123 

Ponieważ narzędzie Heroku-PG-przelew wykorzystuje Postgres-tych natywna funkcja pg_dump to znacznie bardziej przewidywalne i elastyczne narzędzie.

+0

Wydaje się to będzie działać, ale nie udaje się połączyć Heroku na db .: pg_restore: [Archiver (db)] Połączenie z bazą danych "hdciwacofe" nie powiodło się: nie można połączyć się z serwerem: Połączenie timed out \t Czy serwer działający na hoście "ec2-107-22-235-197.compute-1.amazonaws.com" (107.22.235.197) i akceptujący połączenia TCP/IP na porcie 5432? pg_restore: *** przerwano z powodu błędu – leonsas

+0

Czy wiesz, z której bazy danych korzystasz? Jeśli zobaczysz SHARED_DATABASE_URL podczas uruchamiania "heroku config", to robisz i to nie zadziała. Będziesz musiał przejść do planu Heroku Dev. –

+0

To zadziałało, ale nie jest bardzo zen. Byłoby miło, gdyby polecenie zostało skrócone lub poprawiono "db: push". – Chloe