PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Heroku pg:puxar falhando ao preencher o esquema


Eu escrevi o pg:pull e pg:push comandos.

pg:pull e pg:push ambos usam o pg_dump comando e canalize isso diretamente para pg_restore (Código fonte). Infelizmente, existem problemas com pg:push,pull no Windows no momento desta resposta, setembro de 2014. Esses problemas não são insuperáveis, portanto, se você chegar a esta resposta algum tempo depois, verifique se ela pode ter sido corrigida.

O env comando usado aqui e aqui eu não acho que esteja no Windows, e é por isso que você está tendo que fazer as coisas PGUSER e PGPASSWORD. No entanto, o motivo do env é que pg_dump precisa de variáveis ​​de ambiente diferentes de pg_restore .

Eu tentei consertar isso uma vez, usando popen para configurar os comandos de forma independente e, em seguida, conecte-os em vez de usar um pipe. No entanto, não consegui fazê-lo funcionar e tive que parar.

Eu ficaria muito feliz em revisar qualquer patch que vá até o fim e corrigir esse problema, apenas @ me mencione em um pull request para o projeto heroku/heroku.

Desculpe por não conseguir resolver este problema :(

Em vez disso, e até que isso seja corrigido, você pode usar o pg_dump e pg_restore comandos separadamente, diretamente. É mais complicado como um processo de 2 etapas e ter que procurar as credenciais remotas, mas faria o trabalho. A fonte vinculada no gen_pg_*_command métodos mostram como usar pg_dump e pg_restore .