【问题标题】:How to deploy a FastAPI app using PostgreSQL as a database on Heroku如何在 Heroku 上使用 PostgreSQL 作为数据库部署 FastAPI 应用程序
【发布时间】:2020-08-28 09:01:20
【问题描述】:

我使用 SQLite 数据库在虚拟环境中开发了一个 FastAPI 应用程序,但按照 tutorial 中的建议将其部署在 Heroku 上,并在 Heroku 上使用 PostgresSQL 数据库。尽管它可以在我的 PC 上运行,但添加 PostegresSQL 作为插件并替换 database.py 中的 SQLALCHEMY_DATABASE_URL 的值破坏了一切。请注意,我已经正确冻结了 requirements.txt 文件的依赖关系。但是我不知道出了什么问题。

为了进一步澄清,我已将我的代码推送到 GitHub 并且可以在此存储库中访问它 - Self_calculation

【问题讨论】:

    标签: postgresql heroku fastapi


    【解决方案1】:

    如果您在 Heroku 上使用 Postgres 插件,您的解决方案可能很简单。

    使用os.environ获取连接参数,不要尝试直接连接,这是Heroku Postgres的Heroku推荐解决方案

    import os
    
    DATABASE_URL = os.environ.get('DATABASE_URL')
    

    【讨论】:

      【解决方案2】:

      我只需要运行这个:
      1)heroku git:remote -a my_heroku_app_name

      2)heroku logs --tail

      之后我可以看到我的问题。
      就我而言,我忘记在 alembic.ini 文件中更改 postgres url

      【讨论】:

      • 接受对你有用的答案总是更好。此外,当您编写答案时,请解释出现了什么问题以及特定的代码行在做什么。这有助于其他人更清楚地了解您的答案。
      猜你喜欢
      • 2017-11-03
      • 2015-10-02
      • 2015-03-04
      • 2013-01-08
      • 2021-03-23
      • 2021-03-16
      • 2020-11-12
      相关资源
      最近更新 更多