如何在Heroku中重命名数据库?

use*_*988 5 database error-handling heroku

我在Heroku中创建了一个新数据库,显示在我的仪表板中; 当我进入设置时,它不允许我重命名,说明"内部服务器错误".如何重命名我的数据库?

Syd*_*din 11

看起来重命名Heroku DB的方法自上次更新以来已经改变了; 在给出的答案该回复不再有效.

我已经说过了Heroku支持,目前重命名Heroku数据库的方法是使用该heroku addons:rename命令(您可以使用该命令查看一些简短的CLI帮助heroku help addons:rename.)

例如:如果您的数据库已命名postgresql-loudly-9983并附加到应用程序bumping-softly-6892,并且您想将其重命名为stats-db,则您的命令将如下所示:

heroku addons:rename postgresql-loudly-9983 stats-db -a bumping-softly-6892

  • Heroku 的命名让我非常困惑。似乎在我的应用程序中有一个数据库名称 *addon*,例如“postgresql-loudly-1234”,然后当我查看备份列表时,我看到数据库名称“DATABASE”。我想改变的是后者。我正在尝试运行“heroku pg:copy myapp::DATABASE DATABASE --app myapp-staging”以将临时数据替换为生产数据,并且我收到无用的消息“警告...此命令将从数据库中删除所有数据”。然后来自 DATABASE 的数据将被传输到 DATABASE`。为了安全起见,我想将它们称为“STAGING_DB”和“PROD_DB”! (3认同)

mwa*_*wal 6

这样看可能更清楚:

  1. 您可以重命名应用 heroku apps:rename --app OLDNAME NEWNAME

  2. 您可以重命名插件(在您的情况下为postgres实例): heroku addons:rename OLDNAME NEWNAME 要查找当前名称,请执行heroku addons

  3. 但是您还必须了解heroku 别名。这些是heroku如何自动为您设置配置变量(它是您在“设置”页面中看到的别名所设置的配置变量)。这是文档。简而言之,您实际上不能直接重命名别名,但是可以添加第二个指向相同位置的别名,然后删除旧的别名。看这里


ant*_*ian 1

刚刚收到 Heroku Postgres 工程师的回复:

我们最近更新了 postgres.heroku.com 上处理数据库名称的方式。过去,所有数据库都有一个可以简单更改的“标签”,以及数据库附加的内部“隐藏”Heroku 应用程序。我们部署的更改删除了标签,并取消隐藏 heroku 应用程序名称。您在 postgres.heroku.com 上看到的名称是一个完整的 Heroku 应用程序,您可以通过命令行或仪表板.heroku.com 与之交互。

如果您想重命名它,可以使用dashboard.heroku.com 或 $ heroku app:rename 通过命令行。