【问题标题】:Heroku Deployment error:connection refusedHeroku 部署错误:连接被拒绝
【发布时间】:2020-04-29 13:53:40
【问题描述】:

我已经在 heroku 上部署了我的应用程序。但问题是,它给出了这个错误

Unhandled rejection SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

我的 config.js 文件-

module.exports={
    port:process.env.PORT || 8082,
    production: {
        use_env_variable: process.env.DATABASE_URL
      },
    authentication:{
        jwtSecret: process.env.JWT_SECRET|| 'secret'
    }
}

我的数据库连接文件-

const Sequelize=require('sequelize')
const config=require('../config/config')

let sequelize=null;
if(process.env.DATABASE_URL){
     sequelize=new Sequelize(config.production.use_env_variable,{dialect:'mysql'})

}
else{    
     sequelize=new Sequelize('bloggy','root','12345678',{dialect:'mysql',host:'localhost'})

}
module.exports=sequelize

我不明白为什么会抛出该错误..它在本地工作正常? 有人可以帮忙吗?

【问题讨论】:

  • 数据库是否在 Heroku 的本地主机上运行?这似乎......不太可能。
  • no..问题是我不明白实际的问题是什么..数据库文件中的 else 部分用于在本地运行
  • 那么 Heroku 环境中设置的环境变量吗?到什么? 什么?
  • 对不起..我不明白你在说什么......
  • 您希望连接信息来自 DATABASE_URL,不是吗?那么... 它是什么?它在本地运行良好,您没有使用它

标签: mysql node.js heroku sequelize.js web-deployment


【解决方案1】:

确保在 Heroku 中,您已在运行 Heroku config:set DATABASE_URL=<your database url> 的环境变量 b 中设置了 DATABASE_URL。这将确保 if 语句将返回 true 并执行第一个块

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    相关资源
    最近更新 更多