首页 > 解决方案 > 我应该如何从外部服务器连接到 Heroku Postgres db?

问题描述

在这里指出,使用这样的 URL 连接到 heroku 数据库不是一个好习惯:

postgres://$user:$pass@$db_host.com:5432/$db_name

但是您应该“在应用程序启动时从相应的 Heroku 应用程序获取数据库 URL 配置变量”,如下所示:

DATABASE_URL=$(heroku config:get DATABASE_URL -a your-app) your_process

我想使用 sequelize 从外部(heroku 外部)节点服务器连接到 heroku 数据库。我该怎么做?

const db = new Sequelize(DATABASE_URL, {
  logging: false,
  pool: {
    max: 15,
    min: 5,
    idle: 10000,
    acquire: 10000,
  },
  dialectOptions: {
    ssl: {
    require: true,
  },
 },
 ssl: true,
});

标签: postgresqlherokusequelize.jsheroku-postgresheroku-cli

解决方案


使用 Heroku CLI,您可以使用heroku config:get DATABASE_URL. 要以编程方式执行相同的操作,请查阅Heroku 文档,该文档指出:

您可以使用 Heroku 平台 API 使用简单的 HTTPS REST 客户端和 JSON 数据结构以编程方式管理应用程序的配置变量。您需要一个有效的 Heroku 访问令牌,该令牌代表对应用程序具有适当权限的用户。

用于配置变量的 REST API 的详细信息在平台 API 参考中进行了描述。


推荐阅读