J'ai écrit le pg:pull
et pg:push
commandes.
pg:pull
et pg:push
les deux utilisent le pg_dump
commande et dirigez-la directement vers pg_restore
(code source). Malheureusement, il y a des problèmes avec pg:push,pull
sur Windows au moment de cette réponse, septembre 2014. Ces problèmes ne sont pas insurmontables, donc si vous arrivez à cette réponse un peu plus tard, veuillez vérifier si elle a pu être corrigée.
Le env
Je ne pense pas que la commande utilisée ici et ici soit sur Windows, c'est pourquoi vous devez faire les choses PGUSER et PGPASSWORD. Cependant la raison du env
est-ce que pg_dump
a besoin de variables d'environnement différentes de pg_restore
.
J'ai tenté de résoudre ce problème une fois, en utilisant popen pour configurer les commandes indépendamment, puis en les associant au lieu d'utiliser un tuyau. Cependant, je n'arrivais pas à le faire fonctionner et j'ai dû arrêter.
Je serais très heureux d'examiner tous les correctifs qui vont jusqu'au bout et de résoudre ce problème, juste @ me mentionner sur une demande d'extraction au projet heroku/heroku.
Désolé pour mon échec à résoudre ce problème :(
Au lieu de cela, et jusqu'à ce que cela soit corrigé, vous pouvez utiliser le pg_dump
et pg_restore
commandes séparément, directement. C'est plus fastidieux en tant que processus en 2 étapes et il faut rechercher les informations d'identification à distance, mais cela ferait le travail. La source liée dans la gen_pg_*_command
les méthodes montrent comment utiliser pg_dump
et pg_restore
.