首页 > 解决方案 > Heroku DATABASE_URL 无法识别

问题描述

我正在编写一个 Express JS API 并尝试将它托管在 Heroku 上。当我运行命令“heroku local web”时,我已经在本地设置了所有端点,它工作正常。当 NODE_ENV 设置为生产时,我正在尝试连接到 heroku 生产数据库,如果不是,它将连接到我的本地数据库,但下面的代码似乎不起作用。如果我将数据库凭据硬编码到我的 .env 文件中,我可以连接到 heroku 数据库,但是我希望能够根据 NODE_ENV 从本地数据库到 heroku 生产数据库来回切换

const Pool = require('pg').Pool
const isProduction = process.env.NODE_ENV === 'production'
const connectionString = `postgresql://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_DATABASE}`
const pool = new Pool({
  connectionString: isProduction ? process.env.DATABASE_URL : connectionString,
  ssl: isProduction
})

任何帮助将不胜感激。

标签: javascriptnode.jspostgresqlexpressheroku

解决方案


推荐阅读