$ someapp --db-host=example.com --db-port=5433 --db-name=mydb --db-user=me --db-password=mypass
看什么的时候
heroku
提供,看起来唯一可用的是
DATABASE_URL
. 我当然可以用
Procfile
并提取所有必要的东西,目前我正在考虑像一个小助手脚本,例如。
parse_db_url.py
:
#!/usr/bin/env python3
import os
from sqlalchemy.engine.url import make_url
if __name__ == '__main__':
url = make_url(os.environ.get('DATABASE_URL'))
env = f'''PG_USER={url.username}
PG_PASSWORD={url.password}
PG_HOST={url.host}
PG_PORT={url.port}
PG_DBNAME={url.database}'''
print(env)
和
eval
把它放在
程序文件
:
web: eval $(python parse_db_url.py) && someapp --db-host=$PG_HOST ...
等等,但这样做是正确的还是我只是忽略了什么?如果这是相关的,我测试的免费计划自动取款机,但移动到一个爱好计划时,满意的部署。