所以我检查了我的config.json,以确保所有密钥都与heroku数据库对齐:
"production": {
"name": "NAME",
"user": "USER",
"port": "5432",
"pass": "PASSWORD",
"host": "HOST",
"dialect": "postgres"
}
我知道这些值正在运行,因为我可以使用pgcommander访问数据库。然后我执行以下步骤:
heroku config:set NODE_ENV='production' --app APP_NAME
heroku run 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
谷歌搜索错误会返回相当少的相关结果。
任何帮助表示感谢。
答案 0 :(得分:1)
我的橡胶在哪里?也许我需要做的就是问。无论如何,我刚刚通过更改我的config.json
并使用不同的heroku命令顺序解决了这个问题:
首先我必须推广heroku db:instructions for promoting db然后改变我的
config.json
以下内容:
"production": {
"use_env_variable": "DATABASE_URL"
}
然后在终端中运行以下命令:
heroku run bash
现在在heroku bash中:
sequelize db:migrate
我仍然不确定为什么在config.json中指定db url的每个键给我一个错误,因为它们应该完全相同。