はじめに
herokuでpostgresqlを使用したアプリを開発する際に、開発する際はlocalhostのDBを使いたい場合があります。環境変数により本番と開発で環境を分ける方法をまとめます。
言語はnodejsです。
herokuの環境変数
herokuでは以下の2つの設定方法により本番と開発の環境を分けることができます。
開発の環境変数を定義する
.envファイルにより定義
ユーザーやパスワードなどは自分でローカルに立てたDBを指定します
.env
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
本番の環境変数を定義する
postgresqlのアドオンを作った時に自動的作られたDBが指定されています。
コマンドにより確認する
heroku config
ssl設定
localでsslを設定しているとエラーが出たため開発環境では設定しないようにします。
herokuによりデフォルトで本番環境にはNODE_ENVにproductionが設定されています。
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
ssl: process.env.NODE_ENV === 'production' ? { rejectUnauthorized: false } : null
})
これにより環境を分けることができました!!