PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Heroku pg:pull non riesce a popolare lo schema

Ho scritto il pg:pull e pg:push comandi.

pg:pull e pg:push entrambi usano pg_dump comando e reindirizzarlo direttamente a pg_restore (codice sorgente). Sfortunatamente, ci sono problemi con pg:push,pull su Windows a partire dal momento di questa risposta, settembre 2014. Questi problemi non sono insormontabili, quindi se arriverai a questa risposta qualche tempo dopo, controlla se potrebbe essere stato risolto.

L'env comando usato qui e qui non penso sia su Windows, motivo per cui devi fare le cose PGUSER e PGPASSWORD. Tuttavia il motivo per il env è quello pg_dump necessita di variabili di ambiente diverse da pg_restore .

Ho provato a risolverlo una volta, usando popen per impostare i comandi in modo indipendente, quindi collegandoli insieme invece di usare un tubo. Tuttavia, non sono riuscito a farlo funzionare e ho dovuto smettere.

Sarei molto felice di rivedere tutte le patch che vanno fino in fondo e risolvere questo problema, solo @ menzionami su una richiesta di pull al progetto heroku/heroku.

Ci scusiamo per non aver risolto questo problema :(

Invece, e fino a quando questo non sarà risolto, puoi usare il pg_dump e pg_restore comandi separatamente, direttamente. È più ingombrante come processo in 2 fasi e dover cercare le credenziali remote, ma porterebbe a termine il lavoro. La sorgente collegata nel gen_pg_*_command i metodi mostrano come usare pg_dump e pg_restore .