Ik schreef de pg:pull
en pg:push
commando's.
pg:pull
en pg:push
beide gebruiken de pg_dump
commando en pijp dat rechtstreeks naar pg_restore
(broncode). Helaas zijn er problemen met pg:push,pull
op Windows vanaf het moment van dit antwoord, september 2014. Deze problemen zijn niet onoverkomelijk, dus als u later op dit antwoord komt, controleer dan of het mogelijk is opgelost.
De env
commando dat hier en hier wordt gebruikt, denk ik niet dat het op Windows staat, daarom moet je de PGUSER- en PGPASSWORD-dingen doen. Maar de reden voor de env
is dat pg_dump
heeft andere omgevingsvariabelen nodig dan pg_restore
.
Ik heb een poging gedaan om dat een keer te repareren, door popen te gebruiken om de opdrachten onafhankelijk in te stellen, en ze vervolgens aan elkaar te verbinden in plaats van een pijp te gebruiken. Ik kreeg het echter niet helemaal werkend en moest stoppen.
Ik zou graag alle patches beoordelen die dit probleem volledig oplossen, maar @ vermeld me gewoon op een pull-verzoek aan het heroku/heroku-project.
Sorry dat ik dit probleem niet heb opgelost :(
In plaats daarvan, en totdat dit is opgelost, kun je de pg_dump
. gebruiken en pg_restore
commando's afzonderlijk, direct. Het is omslachtiger als een proces in twee stappen en het moeten opzoeken van de referenties op afstand, maar het zou de klus klaren. De gekoppelde bron in de gen_pg_*_command
methoden laten zien hoe u pg_dump
. gebruikt en pg_restore
.