尝试在Heroku上运行迁移时出现Sequelize错误

时间:2015-01-09 01:03:51

标签: heroku database-migration sequelize.js

所以我检查了我的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

谷歌搜索错误会返回相当少的相关结果。

任何帮助表示感谢。

1 个答案:

答案 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的每个键给我一个错误,因为它们应该完全相同。