将sequelize-cli应用程序部署到heroku DATABASE_URL问题

Bru*_*uno 1 heroku sequelize.js sequelize-cli

我正在使用续集迁移。这是我的 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'
  },
}
Run Code Online (Sandbox Code Playgroud)

当我部署到 heroku 并运行时:

heroku run npx sequelize-cli db:migrate
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Loaded configuration file "config/config.js".
Using environment "production".

ERROR: connect ECONNREFUSED 127.0.0.1:5432
Run Code Online (Sandbox Code Playgroud)

我尝试将我的配置更改为use_env_variable: DATABASE_URLError 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
Run Code Online (Sandbox Code Playgroud)

Bru*_*uno 5

这有效:

{
    "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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)