mirror of
https://github.com/home-assistant/core.git
synced 2025-07-28 07:37:34 +00:00
Update sql to prepare for sqlalchemy 2.0 (#71532)
* Update sql to prepare for sqlalchemy 2.0 * config flow as well
This commit is contained in:
parent
9cd81db5b3
commit
18bdc70185
@ -45,15 +45,15 @@ def validate_sql_select(value: str) -> str | None:
|
|||||||
def validate_query(db_url: str, query: str, column: str) -> bool:
|
def validate_query(db_url: str, query: str, column: str) -> bool:
|
||||||
"""Validate SQL query."""
|
"""Validate SQL query."""
|
||||||
try:
|
try:
|
||||||
engine = sqlalchemy.create_engine(db_url)
|
engine = sqlalchemy.create_engine(db_url, future=True)
|
||||||
sessmaker = scoped_session(sessionmaker(bind=engine))
|
sessmaker = scoped_session(sessionmaker(bind=engine, future=True))
|
||||||
except SQLAlchemyError as error:
|
except SQLAlchemyError as error:
|
||||||
raise error
|
raise error
|
||||||
|
|
||||||
sess: scoped_session = sessmaker()
|
sess: scoped_session = sessmaker()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result: Result = sess.execute(query)
|
result: Result = sess.execute(sqlalchemy.text(query))
|
||||||
for res in result.mappings():
|
for res in result.mappings():
|
||||||
data = res[column]
|
data = res[column]
|
||||||
_LOGGER.debug("Return value from query: %s", data)
|
_LOGGER.debug("Return value from query: %s", data)
|
||||||
|
@ -111,8 +111,8 @@ async def async_setup_entry(
|
|||||||
value_template.hass = hass
|
value_template.hass = hass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
engine = sqlalchemy.create_engine(db_url)
|
engine = sqlalchemy.create_engine(db_url, future=True)
|
||||||
sessmaker = scoped_session(sessionmaker(bind=engine))
|
sessmaker = scoped_session(sessionmaker(bind=engine, future=True))
|
||||||
except SQLAlchemyError as err:
|
except SQLAlchemyError as err:
|
||||||
_LOGGER.error("Can not open database %s", {redact_credentials(str(err))})
|
_LOGGER.error("Can not open database %s", {redact_credentials(str(err))})
|
||||||
return
|
return
|
||||||
@ -179,7 +179,7 @@ class SQLSensor(SensorEntity):
|
|||||||
self._attr_extra_state_attributes = {}
|
self._attr_extra_state_attributes = {}
|
||||||
sess: scoped_session = self.sessionmaker()
|
sess: scoped_session = self.sessionmaker()
|
||||||
try:
|
try:
|
||||||
result = sess.execute(self._query)
|
result = sess.execute(sqlalchemy.text(self._query))
|
||||||
except SQLAlchemyError as err:
|
except SQLAlchemyError as err:
|
||||||
_LOGGER.error(
|
_LOGGER.error(
|
||||||
"Error executing query %s: %s",
|
"Error executing query %s: %s",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user