fastapi同时连接多个数据库
时间: 2023-06-30 10:18:02 浏览: 182
是的,FastAPI可以同时连接多个数据库。可以通过多个数据库连接对象来实现这一点。以下是一个示例:
```python
from fastapi import FastAPI
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
app = FastAPI()
# 连接第一个数据库
engine1 = create_engine("postgresql://user1:pass1@localhost/db1")
Session1 = sessionmaker(autocommit=False, autoflush=False, bind=engine1)
# 连接第二个数据库
engine2 = create_engine("postgresql://user2:pass2@localhost/db2")
Session2 = sessionmaker(autocommit=False, autoflush=False, bind=engine2)
# 定义路由和处理函数
@app.get("/db1")
async def read_db1():
session1 = Session1()
# 查询第一个数据库并返回结果
return ...
@app.get("/db2")
async def read_db2():
session2 = Session2()
# 查询第二个数据库并返回结果
return ...
```
在上面的示例中,我们创建了两个数据库连接对象engine1和engine2,并使用sessionmaker创建了两个会话Session1和Session2。然后,我们可以在路由处理函数中使用这些会话来查询不同的数据库。
阅读全文