Als je naar Heroku verzendt 1.sql
bestand gegenereerd voor H2
, is er een grote kans dat ze conflicteren, stel in plaats daarvan de url van de Heroku in application.conf
als db.default.url
en voer het eerst uit in dev-modus op localhost om geldige Postres SQL te genereren. U moet ook commentaar geven op de db.default.user
en db.default.password
instellingen, aangezien de URL van Heroku deze informatie al bevat.
Als u de URL van de huidige verbinding niet weet, kunt u deze vinden op:
https://postgres.heroku.com/ -> YourDBs
-> db-naam -> Connection settings
-> JDBC URL
Om verbinding te maken vanaf localhost (of een andere machine, niet in de Heroku's ruimte) moet je deze parameter aan de URL toevoegen:
&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
Dankzij deze aanpak kun je je applicatie lokaal testen met een gevestigde verbinding met de database van Heroku op afstand (wees niet verbaasd - die combinatie zal veel langzamer zijn dan werken met local app + local DB
of Heroku app + Heroku DB
) voor het testen is het in ieder geval beter dan herhaaldelijk kleine reparaties naar de cloud te pushen.
Je kunt ook evoluties uitvoeren vanuit localhost - zonder de code naar Heroku te pushen, en het is echt een kortere aanpak als je problemen hebt met je SQL.
Bovendien is het een goede gelegenheid om SQL-logboekregistratie in de lokale dev-modus in te schakelen en op zoek te gaan naar overbodige SQL-query's, als u alle niet-noodzakelijke query's verwijdert en tevreden bent op localhost, na implementatie op de Heroku, zult u gewoon veel meer tevreden zijn:)
Resetten
Als u de juiste 1.sql
. maakt bestand dan zal je hoogstwaarschijnlijk je DB met een ongeldige structuur moeten resetten (omdat ik aanneem dat dit nog geen probleem is, aangezien je net van lokaal naar Heroku gaat). Zoek eerst een naam van de DB voor de huidige app (met bash, in de map van de app):
heroku pg
En reset het dan met (het zal alle gegevens vernietigen, dus overweeg eerst een back-up als u uw gegevens niet kwijt wilt raken!):
heroku pg:reset HEROKU_DATABASE_SOMEBASE