如何在本地运行Express应用程序并连接到远程Heroku Postgres实例

时间:2019-08-19 16:18:54

标签: node.js postgresql express heroku heroku-postgres

我有一个Express.js应用程序正在Heroku instance中运行,当它在Heroku应用程序本身中运行时,它可以很好地连接到我连接的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

当我尝试运行命令时,它说它无法连接到dyno并检查其是否在运行。当我检查时,它表明它正在运行,只是处于空闲状态,并且我当月的配额还远远不够。

我缺少一个步骤吗?还是有比这更简单的连接到远程数据库的完全不同的方法?

0 个答案:

没有答案