sql >> Databasteknik >  >> RDS >> PostgreSQL

Heroku pg:pull kunde inte fylla i schemat

Jag skrev pg:pull och pg:push kommandon.

pg:pull och pg:push båda använder pg_dump kommandot och skicka det direkt till pg_restore (källkod). Tyvärr finns det problem med pg:push,pull på Windows vid tidpunkten för detta svar, september 2014. Dessa problem är inte oöverstigliga, så om du kommer till det här svaret någon gång senare, kontrollera om det kan ha åtgärdats.

env kommandot som används här och här tror jag inte är på Windows, det är därför du måste göra PGUSER och PGPASSWORD-grejer. Men orsaken till env är det pg_dump behöver andra miljövariabler än pg_restore .

Jag tog ett hugg på att fixa det en gång, genom att använda popen för att ställa in kommandona oberoende, och sedan koppla ihop dem istället för att använda ett rör. Men jag kunde inte riktigt få det att fungera och var tvungen att sluta.

Jag skulle mycket gärna granska alla patchar som går hela vägen och fixa det här problemet, bara @ nämna mig på en pull-förfrågan till heroku/heroku-projektet.

Ursäkta att jag misslyckades med att åtgärda det här problemet :(

Istället, och tills detta är åtgärdat, kan du använda pg_dump och pg_restore kommandon separat, direkt. Det är mer besvärligt som en tvåstegsprocess och att behöva leta upp fjärrkontrolluppgifterna, men det skulle få jobbet gjort. Den länkade källan i gen_pg_*_command metoder visar hur man använder pg_dump och pg_restore .



  1. Ansluter SquirreL SQL till Microsoft Excel

  2. Operatörer för att extrahera JSON-delkomponenter

  3. PostgreSQL IF uttalande

  4. Söka i en Oracle-databas efter tabeller med specifika kolumnnamn?