所以我三次检查了 config.json 以确保所有键都与 heroku 数据库对齐:
"production": {
"name": "NAME",
"user": "USER",
"port": "5432",
"pass": "PASSWORD",
"host": "HOST",
"dialect": "postgres"
}
我知道这些值有效,因为我可以使用 pgcommander 访问数据库。然后我执行以下步骤:
heroku config:set NODE_ENV='product' --app APP_NAME
heroku 运行 node_modules/.bin/sequelize db:migrate
但迁移失败后总是出现以下错误:
[00:27:42] Finished 'db:migrate' after 88 ms
Unable to connect to database: Error: SequelizeConnectionError: no PostgreSQL user name specified in startup packet
通过 Google 搜索该错误,返回的相关结果数量惊人地少。
感谢任何帮助。
最佳答案
我刚刚通过更改我的 config.json
并使用不同顺序的 heroku 命令解决了这个问题:
首先我必须推广heroku db:instructions for promoting db然后改变我的
config.json
以下内容:
"production": {
"use_env_variable": "DATABASE_URL"
}
然后在终端中运行以下命令:
heroku 运行 bash
现在进入heroku bash:
序列化数据库:迁移
我仍然不确定为什么在 config.json 中指定数据库 URL 的每个键会给我一个错误,因为它们应该完全相同。
关于heroku - 尝试在 Heroku 上运行迁移时出现 Sequelize 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27852321/