sql >> Base de Datos >  >> RDS >> PostgreSQL

Heroku pg:pull no pudo completar el esquema

Escribí el pg:pull y pg:push comandos.

pg:pull y pg:push ambos usan el pg_dump comando y canalícelo directamente a pg_restore (código fuente). Desafortunadamente, hay problemas con pg:push,pull en Windows en el momento de esta respuesta, septiembre de 2014. Estos problemas no son insuperables, por lo que si llega a esta respuesta más adelante, verifique si se pudo haber solucionado.

El env El comando usado aquí y aquí no creo que esté en Windows, por lo que tiene que hacer las cosas de PGUSER y PGPASSWORD. Sin embargo, el motivo del env es que pg_dump necesita diferentes variables de entorno que pg_restore .

Hice un intento de arreglar eso una vez, usando popen para configurar los comandos de forma independiente, luego conéctelos juntos en lugar de usar una tubería. Sin embargo, no pude hacerlo funcionar y tuve que parar.

Estaría muy feliz de revisar cualquier parche que vaya hasta el final y solucione este problema, solo mencione @ en una solicitud de incorporación al proyecto heroku/heroku.

Perdón por no haber solucionado este problema :(

En su lugar, y hasta que esto se solucione, puedes usar el pg_dump y pg_restore comandos por separado, directamente. Es más engorroso como un proceso de 2 pasos y tener que buscar las credenciales remotas, pero haría el trabajo. La fuente vinculada en el gen_pg_*_command los métodos muestran cómo usar pg_dump y pg_restore .