PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Heroku pg:pull ne parvient pas à remplir le schéma

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 .