sql >> Databasteknik >  >> RDS >> PostgreSQL

Fel i utvecklingen på Heroku

Om du skickar 1.sql till Heroku fil genererad för H2 , det finns stor chans att de kommer i konflikt, istället ställ in Herokus url i application.conf som db.default.url och kör den i dev-läge på localhost först för att generera giltig Postres SQL. Du måste också kommentera db.default.user och db.default.password inställningar, eftersom Herokus URL redan innehåller denna information.

Om du inte känner till den aktuella anslutningens URL hittar du den på:

https://postgres.heroku.com/ -> YourDBs -> db-namn -> Connection settings -> JDBC URL

För att ansluta från localhost (eller annan maskin, inte i Herokus utrymme) måste du lägga till denna param till URL:en:

&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

Tack vare detta tillvägagångssätt kan du testa din applikation lokalt med etablerad anslutning till fjärrkontrollen Herokus DB, (bli inte förvånad - den kombinationen kommer att vara mycket långsammare än att arbeta med local app + local DB eller Heroku app + Heroku DB ) hur som helst för att testa är det bättre än att upprepade gånger skjuta små fixar till molnet.

Du kommer också att kunna utföra utvecklingar från localhost - utan att skicka koden till Heroku, och det är verkligen kortare tillvägagångssätt om du har problem i din SQL.

Dessutom är det ett bra tillfälle att aktivera SQL-loggning i lokalt utvecklarläge och leta efter redundanta SQL-frågor, om du tar bort alla oönskade frågor och kommer att vara nöjd på localhost, efter att ha distribuerat till Heroku, kommer du att vara mycket mer nöjd:)

Återställ

Om du skapar korrekt 1.sql fil än du förmodligen kommer att behöva återställa din DB som innehåller ogiltig struktur (eftersom jag antar att det inte är ett problem ännu eftersom du just har flyttat från lokal till Heroku). Hitta först ett namn på DB för den aktuella appen (med bash, i appens mapp):

heroku pg

Och sedan återställ den med (det kommer att förstöra all data så överväg säkerhetskopiering först om du inte vill tappa dina data!):

heroku pg:reset HEROKU_DATABASE_SOMEBASE


  1. Hur man skapar dynamiska pivottabeller i MySQL

  2. Använda Spotlight Cloud för att lösa blockering av SQL Server

  3. SQL-gruppering efter månad och år

  4. oracle sql:uppdatera om det finns annat infoga