-
-
Notifications
You must be signed in to change notification settings - Fork 149
Open
Labels
Description
sql_select() (panels/sqlalchemy.py) seems not tested in #186. The updates introduce some API changes that affect how sql_select() operates:
get_engine()requires an initialized (init_app()ed)SQLAlchemyinstance.- The
Engineobject no longer has anexecute()method directly; instead, obtaining a connection is required for execution. - The
execute()method does not support positional parameters anymore.
To address these issues, I made some local modifications. Here are the specific changes:
142c142,143
< engine = SQLAlchemy().get_engine(current_app)
---
> sqlalchemy = current_app.extensions["sqlalchemy"]
> engine = sqlalchemy.get_engine()
150c151,152
< result = engine.execute(statement, params)
---
> with engine.connect() as connection:
> result = connection.exec_driver_sql(statement, tuple(params[0]))Given that I'm uncertain about the repercussions these changes might have on backward compatibility with Flask-SQLAlchemy 2.x versions, and due to time constraints on my end, I'm hesitant to submit a pull request myself. However, it would be great if someone could validate and extend these adjustments to ensure compatibility across both Flask-SQLAlchemy 2.x and 3.x versions.
chrisroatchrisroat