Je souhaite trouver un moyen de me connecter dynamiquement à la base de données secondaire si la base de données principale est dépassée. J'ai beaucoup réorganisé et trouvé des solutions qui n'utilisent que le SQLAlchemy et non le Flask-SQLAlchemy. La solution recommandée était comme ci-dessous.Connexion dynamique à une base de données différente en cas de défaillance de 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=...)
Et je veux construire un échec quelque chose de sûr comme ci-dessous .. la synthaxe est dans le code psuedo.
if not request_has_connection:
db = SQLAlchemy(app) # instantiate db with different config that has different db URI.
Le problème est que, Flask-SQLAlchemy ne permet pas aux utilisateurs de moteur instancier séparément, le db qui est utilisé par chaque modèle est tout instancié d'une ligne qui est db=SQLAlchemy(app)
Comment puis-je changer dynamiquement l'URI de la base de données en secondaire si le primaire a un délai d'attente ou s'il a perdu sa connexion?
Merci