heroku - 将 sequelize-cli 应用程序部署到 heroku DATABASE_URL 问题
问题描述
我正在使用续集迁移。这是我的 config.js:
require('dotenv').config()
module.exports = {
development: {
database: process.env.DEV_DATABASE,
host: process.env.DEV_HOST,
dialect: 'postgres'
},
test: {
database: process.env.TEST_DATABASE,
host: process.env.TEST_HOST,
dialect: 'postgres'
},
production: {
database: process.env.DATABASE_URL,
dialect: 'postgres'
},
}
当我部署到 heroku 并运行时:
heroku run npx sequelize-cli db:migrate
我得到错误:
Loaded configuration file "config/config.js".
Using environment "production".
ERROR: connect ECONNREFUSED 127.0.0.1:5432
我已经尝试将我的配置更改为use_env_variable: DATABASE_URL
并且我得到了Error reading "config/config.js". Error: ReferenceError: DATABASE_URL is not defined
如果我console.log(process.env.DATABASE_URL)
得到类似的东西:
postgres://bczwqcbnwftivi:80bbc89546c0953e0ffd221a950cac249d25d4ef1812127054af7c2f504b2c39@ec2-54-225-205-79.compute-1.amazonaws.com:5432/d8gsvl0n8qilcs
解决方案
这有效:
{
"development": {
"database": "products_api_development",
"dialect": "postgres"
},
"test": {
"database": "products_api_test",
"dialect": "postgres"
},
"production": {
"use_env_variable": "DATABASE_URL",
"dialect": "postgres",
"dialectOptions": {
"ssl": true
}
}
}
推荐阅读
- reactjs - 无redux(React)组件应如何在父组件触发时公开数据?
- sql - 如何将 XML 列从另一个表复制到一个表?
- javascript - 从排序数组的输出中删除逗号之前的所有内容
- vue.js - 使用 Vue 在某些路由/页面上执行事件的正确方法
- c# - 从 DbContext 加载实体时,Entity Framework Core 抛出 System.Data.SqlTypes.SqlNullValueException
- javascript - 即使设置了keepAliveTimeout,响应连接标头也具有值'close'
- javascript - 如何检测组件将使用反应挂钩更新?
- cumulocity - Cumulocity HTML 小部件
- javascript - 用声明词在打字稿中声明类
- c# - 查找大小调整操作中是否按下 Esc 键(MouseLeftButtonDown+MouseMove)