sql >> Databáze >  >> RDS >> PostgreSQL

Chyby ve vývoji na Heroku

Pokud posíláte do Heroku 1.sql soubor vygenerovaný pro H2 , existuje velká šance, že budou v konfliktu, místo toho nastavte adresu URL Heroku v application.conf jako db.default.url a nejprve jej spusťte v režimu dev na localhost, aby se vygeneroval platný Postres SQL. Také budete muset zakomentovat db.default.user a db.default.password nastavení, protože adresa URL Heroku již tyto informace obsahuje.

Pokud neznáte adresu URL aktuálního připojení, najdete ji na:

https://postgres.heroku.com/ -> YourDBs -> název databáze -> Connection settings -> JDBC URL

Chcete-li se připojit z localhost (nebo jiného počítače, nikoli v prostoru Heroku), musíte do adresy URL přidat tento parametr:

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

Díky tomuto přístupu můžete svou aplikaci testovat lokálně s navázaným připojením ke vzdálené Heroku's DB, (nedivte se - tato kombinace bude mnohem pomalejší než práce s local app + local DB nebo Heroku app + Heroku DB ) každopádně pro testování je to lepší, než opakovaně tlačit malé opravy do cloudu.

Také budete moci provádět evoluce z localhostu – bez vkládání kódu do Heroku a je to opravdu kratší přístup, pokud máte problémy s SQL.

Navíc je to dobrá příležitost zapnout protokolování SQL v místním dev režimu a pátrat po nadbytečných SQL dotazech, pokud odstraníte všechny nepotřebné dotazy a budete spokojeni na localhostu, po nasazení na Heroku budete prostě mnohem spokojenější:)

Resetovat

Pokud vytvoříte správný 1.sql než s největší pravděpodobností budete muset resetovat svou DB obsahující neplatnou strukturu (předpokládám, že to zatím není problém, protože právě přecházíte z místního na Heroku). Nejprve najděte název DB pro aktuální aplikaci (s bash, ve složce aplikace):

heroku pg

A poté jej resetujte pomocí (zničí všechna data, takže pokud nechcete o svá data přijít, zvažte nejprve zálohu!):

heroku pg:reset HEROKU_DATABASE_SOMEBASE


  1. RR vs YY v Oracle

  2. Jak připojit databázi Oracle z PHP

  3. SQL Server IF vs IIF():Jaký je rozdíl?

  4. Vícevláknová C# aplikace s voláním databáze SQL Server