sql >> Database teknologi >  >> RDS >> PostgreSQL

Fejl i udviklingen på Heroku

Hvis du sender 1.sql til Heroku fil genereret til H2 , er der stor chance for, at de vil komme i konflikt. Indstil i stedet Heroku's url i application.conf som db.default.url og kør det i dev-tilstand på localhost først for at generere gyldig Postres SQL. Du skal også kommentere db.default.user og db.default.password indstillinger, da Herokus URL allerede indeholder disse oplysninger.

Hvis du ikke kender den aktuelle forbindelses URL, finder du den på:

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

For at oprette forbindelse fra localhost (eller anden maskine, ikke i Heroku'ens plads), skal du tilføje denne param til URL'en:

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

Takket være denne tilgang kan du teste din applikation lokalt med etableret forbindelse til den eksterne Herokus DB, (bliv ikke overrasket - den kombination vil være meget langsommere end at arbejde med local app + local DB eller Heroku app + Heroku DB ) alligevel til test er det bedre end gentagne gange at skubbe små rettelser til skyen.

Du vil også være i stand til at udføre udviklinger fra localhost - uden at skubbe koden til Heroku, og det er virkelig kortere tilgang, hvis du har problemer i din SQL.

Derudover er det en god anledning til at slå SQL-logning til i lokal dev-tilstand og jage efter overflødige SQL-forespørgsler, hvis du fjerner alle ikke-nødvendige forespørgsler og vil være tilfreds på localhost, efter installation til Heroku, vil du bare være meget mere tilfreds:)

Nulstil

Hvis du vil oprette korrekt 1.sql fil, end du sandsynligvis bliver nødt til at nulstille din DB, der indeholder ugyldig struktur (da jeg antager, at det ikke er et problem endnu, da du lige er flyttet fra lokal til Heroku). Find først et navn på DB'en for den aktuelle app (med bash, i appens mappe):

heroku pg

Og nulstil det derefter med (det vil ødelægge alle data, så overvej først backup, hvis du ikke vil miste dine data!):

heroku pg:reset HEROKU_DATABASE_SOMEBASE


  1. Betinget WHERE-klausul med CASE-sætning i Oracle

  2. Sådan benchmarker du PostgreSQL-ydelse ved hjælp af Sysbench

  3. Gem udvalgte forespørgslers output i ét array i postgres

  4. Sådan konverteres en streng til en dato i PostgreSQL