我想找到一种方法,如果主数据库超时,我可以动态连接到辅助数据库。我已经进行了广泛的研究,发现了一些仅使用SQLAlchemy但不使用Flask-SQLAlchemy的解决方案。推荐的解决方案如下所示。
engine1 = create_engine(...)
engine2 = create_engine(...)
Session1 = sessionmaker(bind=engine1)
Session2 = sessionmaker(bind=engine2)
session1 = scoped_session(Session1, scopefunc=...)
session2 = scoped_session(Session2, scopefunc=...)
我想构建一个类似于下面的故障保护程序.. synthax是伪造的代码。
if not request_has_connection:
db = SQLAlchemy(app) # instantiate db with different config that has different db URI.
问题在于,Flask-SQLAlchemy不允许用户单独实例化引擎,每个模型使用的db都是从一行 db=SQLAlchemy(app)
如果主数据库有超时或失去连接,我如何动态地将数据库的URI更改为辅助数据?
由于