是否可以在Heroku上使用别名配置变量?

时间:2014-05-02 04:19:32

标签: heroku

我目前正在撰写关于在Heroku上设置Wordpress的教​​程。现在我使用ClearDB附加组件自动设置CLEARDB_DATABASE_URL ENV变量。是否可以通过Heroku将ENV变量设为DATABASE_URL

4 个答案:

答案 0 :(得分:2)

无法为配置变量添加别名或从另一个变量引用配置变量。我问了一个类似的问题,这就是他们所说的:

  

我担心Config Variables在这方面不能互相引用   方式,因为它们是简单的名称和值的集合,没有   可用于值的插值或计算。

     

你可能想尝试一下   profile   文件...

答案 1 :(得分:0)

我不确定这些信息对任何人都有帮助,但以防万一:

这个问题涉及一个错误的断言。 ClearDB附加组件未设置CLEARDB_DATABASE_URL ENV变量。 ClearDB附加组件创建CLEARDB_DATABASE_URL配置变量。当应用程序启动时,将从config var创建一个ENV变量。如果你在代码库中更改了ENV变量,这两个变量是不同的,甚至可能有不同的值。

当然,在你的代码库中,你可以用ENV变量做任何你想做的事。

关于配置变量是否可以引用其他配置变量或其他ENV变量,或者反之亦然 - 我不知道。但肯定的是,这将是非常hacky,与预期用途,正确的编码实践和社会责任行为相反。

答案 2 :(得分:0)

我遇到了类似的问题-我试图在连接到2个不同的Heroku DB的管道中使用应用程序-为了使他的所有环境在代码中保持一致,我做了以下事情:

Heroku配置:

DATABASE_URL=XXXXXXXX  - this was the first DB that heroku attached
HEROKU_POSTGRESQL_JADE_URL=XXXX - this was the second DB that heroku attached (the key name changes in each environment)
SECOND_DB_KEY_NAME=HEROKU_POSTGRESQL_JADE_URL

(即,在设置每个环境之后-我添加了对新密钥的引用)

第二个数据库密钥名称,如果数据库凭据刷新,则不会更改。

在代码中,然后在启动时执行以下操作:

const databaseUrlKey = process.env.SECOND_DB_KEY_NAME
process.env['SECOND_DATABASE_URL'] = process.env[databaseUrlKey]

答案 3 :(得分:0)

也许我只会说些愚蠢的事,但为什么不这样做呢?

try: html =requests.get(url) except: print("no conection") try: soup = BS(html.content.decode('utf-8'),'html.parser') except: print("pasre error") print(soup.find('div',{'class':'_3WlLe clearfix'}).get_text())

在代码中: heroku config:set DATABASE_URL=CLEARDB_DATABASE_URL