javascript - 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
})
任何帮助将不胜感激。
解决方案
推荐阅读
- node.js - Mongoose findOneAndUpdate 不会更新我的数据库
- java - Spring Security 标头过滤器和状态码响应
- mysql - Mysql存储过程创建与TRANSACTION问题
- bash - Ubuntu上的Git钩子坏了
- r - 有没有办法根据来自多个数据帧的操作在 R 中创建新列?
- vb.net - 如何将 14 位字母数字 VDI 编号转换为唯一的 8 位字符串或整数
- javascript - 尝试使用 React.createRef() 但出现错误:TypeError: Cannot read property 'focus' of null
- android - 如何在sqlite表和android中获取特定的行项?
- bash - 为什么我在修改 .bash_profile 以在 macOS Catalina 上安装 Tensorflow + OpenCV 时出现这些语法错误?
- c# - 为什么这个脚本可以在没有实例化的情况下访问另一个脚本?