为了账号安全,请及时绑定邮箱和手机立即绑定

fastapi两个子应用共用一个database

http://img1.sycdn.imooc.com//6079783f0001205003570602.jpg请问应用部署,有两个子应用公用一个database是否可行。我是将两个应用的database.py配置一模一样,但是并不可行。请问如何解决?

正在回答

1 回答

我来推荐一个orm 库, tortoise-orm

这个支持异步操作 sqlite3、mysql、postgresql 三种数据库, 配置和部署都比 sqlalchemy 简单

你说的这个问题, tortoise-orm 里面可以在初始化数据库的时候


async def run():

    await Tortoise.init(
        "connections": {
            'first_db': {'engine': 'for', 'credential': 'bar'},
            'second_db': {'engine': 'foze', 'credential': 'baze'}},
        "apps": {
            'app1': {'models': '__main__', 'default_connection': 'first_db'},
            'app2': {'models': '__main__';, 'default_connection': 'second_db'}
    )
    
connection1 = Tortoise.get_connection('first_db')
connection2 = Tortoise.get_connection('second_db')

 到这里, 后面的 `connection1` 等就可以用 orm 操作了

0 回复 有任何疑惑可以回复我~
#1

duskash

抱歉有个地方写错了, connection1 和 connection2 应该包在 runI() 函数下面
2021-10-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

fastapi两个子应用共用一个database

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信