【问题标题】:Sequelize Credentials for Deploying Node.js App to Heroku用于将 Node.js 应用程序部署到 Heroku 的 Sequelize 凭证
【发布时间】:2020-10-29 08:59:22
【问题描述】:

我目前正在学习 Node.js(使用 Express、Postgres、Sequelize)并且有一个在本地运行的非常简单的 (API) 应用程序(它正在工作,使用 Postman 进行了尝试)我现在想部署到 Heroku。由于我过去使用过 Rails,所以我有一些基本的 Heroku 知识,但我对 Rails 在幕后处理的一些事情感到困惑。

我已经设置了一个 config.js 文件,其中包含在运行 npx sequelize-cli init 时生成的一些生产凭据,我已经更新了我的本地设置(这可行!)但是我需要添加什么作为我的生产凭据?我需要自己提供吗?还是 Heroku 提供的?

请注意——我已经在 Heroku 上设置了我的管道和应用程序以及 Postgres,但是当我尝试通过 cli 连接到我的应用程序时,例如heroku run bash --app name-of-my-app 并运行 npx sequelize-cli db:create 它给了我以下错误:

Loaded configuration file "config/config.js".
Using environment "production".
TypeError: Cannot read property 'replace' of undefined
    at Object.removeTicks (/app/node_modules/sequelize/lib/utils.js:347:12)
    at Object.quoteIdentifier (/app/node_modules/sequelize/lib/dialects/abstract/query-generator/helpers/quote.js:50:35)
    at PostgresQueryGenerator.quoteIdentifier (/app/node_modules/sequelize/lib/dialects/abstract/query-generator.js:891:24)
    at getCreateDatabaseQuery (/app/node_modules/sequelize-cli/lib/commands/database.js:77:50)
    at Object.exports.handler (/app/node_modules/sequelize-cli/lib/commands/database.js:45:17)

补充说明:

  • 我正在使用 Node 14.0.0 并续集6.3.0
  • 我已将"engines": { "node": "14.x" } 添加到我的package.json
  • 我没有 procfile,因为 Heroku 表示不再需要它
  • 我的应用入口点是app.js

【问题讨论】:

    标签: node.js postgresql heroku deployment sequelize.js


    【解决方案1】:

    把它放在这里,以防其他人遇到类似的麻烦:

    刚刚想通了,它实际上很简单,但我对运行npx sequelize-cli init 时提供的默认config.js 设置有点困惑。

    这是我的生产设置的样子:

      production: {
        use_env_variable: 'DATABASE_URL',
        dialect: 'postgres'
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-29
      • 2012-10-30
      • 2020-11-30
      • 1970-01-01
      • 2017-12-26
      • 2016-02-10
      • 2016-07-24
      • 2017-09-14
      相关资源
      最近更新 更多