Ich habe ein flask webapp
in denen Benutzer ihren eigenen MySQL-Datenbanken verbinden können und abfragen, ihre eigenen TabellenFlask-SQLAlchemy - on the fly Verbindungen zu mehreren Datenbanken
Was ist der beste Weg, mehrere Verbindungen zu erstellen (zu unterschiedlichen Datenbanken) mit flask-sqlalchemy. Es scheint, als ob es mit scoped_session
und sessionmaker
getan werden muss, aber kann nicht meinen Kopf darum herumwickeln.
Auch der zweite Teil der Frage, sobald ich eine Verbindung zu einer MySQL-Datenbank für einen der Benutzer erstellen, wie behalte ich die Verbindung über Anfragen?
Derzeit habe ich die Verbindungszeichenfolge für jeden Benutzer auf den Kolben Session-Variablen und bei jeder neuen Anforderung, erstellen i den Motor und die Verbindung als solche
engine = create_engine(connection_string, convert_unicode=True)
conn = engine.connect()
db_session = Session(bind=conn) # Session - i create it globally on the __init__ like this Session = scoped_session(sessionmaker()) and import it in the view
## Query using the db_session
Dies scheint Super verschwenderisch um den Motor zu schaffen und die Verbindung mit jeder Anfrage - Kann die Verbindung nicht über Anfragen hinweg bestehen?
Ersetzen Sie "rserve" in [diese Frage] (http://stackoverflow.com/questions/28423069/how-can-a-unique-rserve-connection-be-stored-per-session) mit allen Daten, die Sie benötigen In diesem Fall eine SQLAlchemy-Engine. – davidism
Sie würden Flask-SQLAlchemy nicht verwenden, da dies eine bequeme Möglichkeit ist, Ihre eigenen Datenbanken im Voraus zu verwalten. – davidism