Napisałem pg:pull
i pg:push
poleceń.
pg:pull
i pg:push
oba używają pg_dump
polecenie i potok bezpośrednio do pg_restore
(kod źródłowy). Niestety występują problemy z pg:push,pull
w oknach od czasu tej odpowiedzi, we wrześniu 2014 r. Problemy te nie są nie do pokonania, więc jeśli przyjdziesz do tej odpowiedzi później, sprawdź, czy nie udało się jej naprawić.
env
Polecenie użyte tutaj i tutaj nie wydaje mi się, że jest w systemie Windows, dlatego musisz robić rzeczy PGUSER i PGPASSWORD. Jednak powód env
czy to pg_dump
potrzebuje innych zmiennych środowiskowych niż pg_restore
.
Raz próbowałem to naprawić, używając popen do niezależnej konfiguracji poleceń, a następnie połączyć je razem zamiast używać potoku. Jednak nie mogłem go uruchomić i musiałem przestać.
Z przyjemnością przejrzę wszystkie poprawki i naprawię ten problem, po prostu @ wspomnij o mnie w pull requestie do projektu heroku/heroku.
Przepraszam, że nie udało mi się rozwiązać tego problemu :(
Zamiast tego i dopóki to nie zostanie naprawione, możesz użyć pg_dump
i pg_restore
polecenia oddzielnie, bezpośrednio. Jest to bardziej kłopotliwe jako proces dwuetapowy i konieczność wyszukiwania zdalnych poświadczeń, ale załatwiłoby to zadanie. Połączone źródło w gen_pg_*_command
metody pokazują, jak używać pg_dump
i pg_restore
.