From 79dd506c64a918a81caa30ac92063dadf70dcd51 Mon Sep 17 00:00:00 2001 From: haohangyan Date: Mon, 30 Sep 2024 12:50:15 -0400 Subject: [PATCH] Reverse changes related to sqlalchemy>2.0 --- indra_db/databases.py | 11 +++++------ setup.py | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/indra_db/databases.py b/indra_db/databases.py index d670d7f5..684973a0 100644 --- a/indra_db/databases.py +++ b/indra_db/databases.py @@ -18,7 +18,7 @@ from sqlalchemy.schema import DropTable from sqlalchemy.sql.expression import Delete, Update from sqlalchemy.ext.compiler import compiles -from sqlalchemy.orm import declarative_base, DeclarativeMeta +from sqlalchemy.ext.declarative import declarative_base, DeclarativeMeta from sqlalchemy import create_engine, inspect, UniqueConstraint, func from sqlalchemy.orm import sessionmaker from sqlalchemy.orm.attributes import InstrumentedAttribute @@ -249,11 +249,10 @@ class BaseMeta(DeclarativeMeta, IndraDBTableMetaClass): # Check to see if the database if available. self.available = True try: - with create_engine( - self.url, - connect_args={'connect_timeout': 1} - ).connect() as connection: - connection.execute('SELECT 1 AS ping;') + create_engine( + self.url, + connect_args={'connect_timeout': 1} + ).execute('SELECT 1 AS ping;') except Exception as err: logger.warning(f"Database {repr(self.url)} is not available: {err}") self.available = False diff --git a/setup.py b/setup.py index 202455ac..32308d80 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ def main(): author_email='patrick_greene@hms.harvard.edu', packages=packages, include_package_data=True, - install_requires=['sqlalchemy', 'psycopg2', 'cachetools', + install_requires=['sqlalchemy<1.4', 'psycopg2', 'cachetools', 'termcolor'], extras_require=extras_require, entry_points="""