![](/img/trans.png)
[英]How to initialize a Postgresql database in a Flask app with SQLAlchemy
[英]How to initialize database with some data when app startup? (fastapi, sqlalchemy)
我是 fastapi 和 sqlalchemy 的新手。我正在嘗試在啟動我的應用程序時初始化一些數據。 這是我的想法:
@app.on_event("startup")
async def startup_event():
with SessionLocal() as session:
country_dataframe = pd.read_csv('./initialize_data/country.csv')
for index, row in country_dataframe.iterrows():
session.add(models.Country(row.to_dict()))
session.commit()
但是當我啟動它時我無法獲取 db session,它顯示錯誤代碼:
錯誤:追溯(最近一次調用最后一次):文件“C:\Users\newia\Miniconda3\envs\fastapi\lib\site-packages\starlette\routing.py”,第 540 行,在 self.lifespan_context 中項目的生命周期異步(app): 文件“C:\Users\newia\Miniconda3\envs\fastapi\lib\site-packages\starlette\routing.py”,第 481 行,在 default_lifespan 等待 self.startup() 文件“C:\Users\ newia\Miniconda3\envs\fastapi\lib\site-packages\starlette\routing.py”,第 516 行,在啟動時等待處理程序()文件“D:\Software Projects\PythonProjects\LanguageExchange\app.py”,第 27 行,在 startup_event 中,SessionLocal() 為 session: AttributeError: enter
錯誤:應用程序啟動失敗。 退出。
有沒有設計模式可以做到這一點? 任何建議將不勝感激。
您可以查看此啟動器快速 API模板。 我認為您對init_db.py部分感興趣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.