代码之家  ›  专栏  ›  技术社区  ›  hoefling

获取heroku数据库地址和凭据,而不是数据库URL

  •  2
  • hoefling  · 技术社区  · 6 年前

    $ 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 ...
    

    等等,但这样做是正确的还是我只是忽略了什么?如果这是相关的,我测试的免费计划自动取款机,但移动到一个爱好计划时,满意的部署。

    0 回复  |  直到 6 年前