Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verwende ich den MySQL-Client gleichzeitig in derselben Datenbank, wenn eine Flask-Anwendung mit Flask-SQLAlchemy ausgeführt wird?

Vielleicht möchten Sie sich diese Frage ansehen SQL Alchemy Relationship Loader hinterlässt eine Sperre auf der Tabelle?

Was Sie tun müssen, ist die Unterklasse flask.ext.sqlalchemy.SQLAlchemy und überschreiben Sie die apply_driver_hacks -Methode, um das zusätzliche Schlüsselwortargument isolation_level='READ <some level>' :

from flask.ext.sqlalchemy import SQLAlchemy

class UnLockedAlchemy(SQLAlchemy):
    def apply_driver_hacks(self, app, info, options):
        if not "isolation_level" in options:
            options["isolation_level"] = "READ COMMITTED"  # For example
        return super(UnLockedAlchemy, self).apply_driver_hacks(app, info, options)