如何使用PostgreSQL作为Heroku上的数据库部署FastAPI应用

问题描述

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

为进一步说明,我已将代码推送到GitHub,可以在此存储库-Self_calculation中访问它。

解决方法

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

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

import os

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

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

2)heroku logs --tail

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