node.js - 如何在本地运行 Express 应用程序并连接到远程 Heroku Postgres 实例
问题描述
我有一个Express.js
在 a 中运行的应用程序,当它在 Heroku 应用程序本身中运行时,它可以Heroku instance
很好地连接到我已经连接到它的应用程序。Heroku PostgreSQL instance
但是当我在开发和调试时尝试在Express app
本地运行时,它无法连接到remote Postgres database
.
这迫使我必须将对处理数据库查询的代码进行小的更改推送到 Heroku 并在那里测试它们,通过 Heroku CLI 检查错误消息,在本地修复错误并重复,这比我能够在本地执行此操作要慢得多.
我在其他地方看到这通常是由于 SSL 在本地被禁用,所以我尝试了一些人们推荐的解决方案,比如使用 Heroku CLI 在本地进行端口转发,然后使用 Visual Studio Code 连接到这个本地版本,但我无法获得这个工作。
下面是launch.json
我在 Visual Studio Code 中调试时被告知用于连接数据库的文件:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Heroku",
"address": "localhost",
"port": 9229,
"protocol": "inspector",
"localRoot": "${workspaceFolder}\\source\\index.js",
"remoteRoot": "/app"
}
]
}
下面是我被告知用于在本地转发 Heroku 实例的命令:
heroku ps:forward 9229 -a my-app-name
当我尝试运行该命令时,它说它无法连接到测功机并检查它是否正在运行。当我检查时,它显示它正在运行,只是闲置,而且我这个月的配额还远未满。
有没有我遗漏的步骤?或者有没有比这更容易的连接到远程数据库的完全不同的方式?
解决方案
推荐阅读
- java - 无法使用注释和基于 java 的配置在 Spring MVC 中建立数据库连接
- java - java.mail 回复电子邮件并以字符串形式获取内容
- c# - 如何使用 JSON.NET 在 C# 中序列化 PSObject?
- matlab - 在类的实例中,按事件自动更改值
- php - Woocommerce - 将属性值显示为下拉字段
- flutter - Flutter 如何创建分割的圆形合并图像
- javascript - Windows 上的 tfjs-node-gpu 无效 ELF 标头
- r - 通过从 R 中的数据框中删除成对重复项来提取唯一的组合行
- node.js - 在异步函数中记录错误
- python - Gitlab CI Python运行测试-ModuleNotFoundError:没有名为xxx的模块