相关疑难解决方法(0)

无法使用sequelize从本地节点应用程序连接到heroku postgresql数据库

我正在尝试使用Sequelize从本地nodejs应用程序连接到Heroku postgresql数据库.我按照这两个指南,一切都在heroky服务器端工作得很好,但是当我在Mac上本地运行时,我的节点应用程序将无法连接到heroku.

以下是我启动本地应用的方法:

DATABASE_URL=$(heroku config:get DATABASE_URL) nodemon
Run Code Online (Sandbox Code Playgroud)

得到我:

Sequelize: Unable to connect to the database:
Run Code Online (Sandbox Code Playgroud)

但是通过这样做我得到了正确的URL:

echo $(heroku config:get DATABASE_URL)
Run Code Online (Sandbox Code Playgroud)

这些命令工作正常:

heroku pg:psql
psql $(heroku config:get DATABASE_URL)
Run Code Online (Sandbox Code Playgroud)

这是我的nodejs代码:

var match = process.env.DATABASE_URL.match(/postgres:\/\/([^:]+):([^@]+)@([^:]+):(\d+)\/(.+)/)
sequelize = new Sequelize(match[5], match[1], match[2], {
    dialect:  'postgres',
    protocol: 'postgres',
    port:     match[4],
    host:     match[3],
    logging: false
})

sequelize
.authenticate()
.complete(function(err) {
    if (!!err) {
        log('Sequelize: Unable to connect to the database:', err);
    } else {
        http.listen(process.env.PORT || config.server.port, function(){
            log('Web server listening on port '+process.env.PORT …
Run Code Online (Sandbox Code Playgroud)

postgresql heroku node.js sequelize.js heroku-postgres

15
推荐指数
3
解决办法
8634
查看次数