【发布时间】:2020-01-02 15:36:42
【问题描述】:
我正在尝试部署 API 以使用 heroku 创建开发环境。我成功地将我的项目推送到 heroku 并添加了附加组件,但是现在当我尝试创建数据库时(heroku 运行 php bin/console 学说:数据库:创建),我有以下错误: 数据库“postgres”的权限被拒绝 详细信息:用户没有 CONNECT 权限。 我试图找到可以更改权限的位置,但我不能。
【问题讨论】:
我正在尝试部署 API 以使用 heroku 创建开发环境。我成功地将我的项目推送到 heroku 并添加了附加组件,但是现在当我尝试创建数据库时(heroku 运行 php bin/console 学说:数据库:创建),我有以下错误: 数据库“postgres”的权限被拒绝 详细信息:用户没有 CONNECT 权限。 我试图找到可以更改权限的位置,但我不能。
【问题讨论】:
Heroku Postgres 会自动代表您创建数据库。为防止事故和其他问题,禁止创建数据库,这就是您看到 "postgres" DETAIL: User does not have CONNECT privilege 的原因。
您需要运行迁移,而不是运行 heroku run php bin/console doctrine:database:create。我不熟悉教义,但它可能类似于 heroku run php bin/console doctrine:database:execute,例如。
【讨论】:
heroku pg:psql -a $APP_NAME 打开一个 psql 会话,这将允许您执行任意 SQL 语句。还有一些工具,例如 PGAdmin,可以通过图形界面提供类似的功能。