Postgresqlデータベースを持つNodejsアプリケーションを配備する際に問題があります。データベースはHeroku自身から来ています(Heroku Postgresアドオン、hobby-dev)。私のアプリはデータベースへの接続を拒否しました。NodeJsアプリケーション用のHeroku Postgresアドオン接続文字列
どこから問題が発生したのかわかりましたが、クリーンな解決策が見つかりませんでした。そして私は何かを誤解させてしまったと思います(私はノードとヘロクを初めて使っています)。 Herokuのは、自動的に私のポートを含む変数DATABASE_CONFIG環境を提供します
:次に
postgres://username:[email protected]:port/databasename
、私のアプリでPGと接続するためには、私は、接続文字列としてprocess.env.DATABASE_CONFIGを使用しています。私は次のようなことをします:
const client = new Client({
connectionString: connectionString,
})
client.connect()
これは接続に失敗します。
しかし、この環境変数を使用する代わりに、私はこの接続文字列からポート番号を削除して、それを変更して変更します。
理由はわかりませんが、Herokuがポートを含むこのDATABASE_URLをあなたに提供していて、それを変更できないという問題があります。
私は間違っていましたか?それを避けるためのきれいな解決策はありますか?
(私は私のコードで直接ポートなしDATABASE_CONFIGをハードコーディングされたとして、私がやったことは醜いですので)あなたの助けを
ありがとう!
こんにちは、私は問題が何かを理解しました。それは答えの最後の部分です。 DATABASE_URL(ポートを含まない)の代わりにDATABASE_CONFIGを使用していました。私はこれがそれほど簡単ではないと信じられない。ご協力いただきありがとうございます! – macadam
もちろん! Herokuでセットアップすることは時々トリッキーになる可能性があります。私はあなたがそれを把握することができたことをうれしく思っています:) – Mando75
あなたの助けをたくさんありがとう! – macadam