diff --git a/python/sdssdb/sqlalchemy/archive/__init__.py b/python/sdssdb/sqlalchemy/archive/__init__.py index d6e60f28..ff260de9 100644 --- a/python/sdssdb/sqlalchemy/archive/__init__.py +++ b/python/sdssdb/sqlalchemy/archive/__init__.py @@ -8,20 +8,15 @@ # @Last modified by: José Sánchez-Gallego (gallegoj@uw.edu) # @Last Modified time: 2018-10-10 11:25:13 -from __future__ import print_function, division, absolute_import +from sqlalchemy.ext.declarative import DeferredReflection +from sqlalchemy.orm import DeclarativeBase from sdssdb.connection import SQLADatabaseConnection -from sqlalchemy.ext.declarative import declarative_base, DeferredReflection from sdssdb.sqlalchemy import BaseModel # we need a shared common Base when joining across multiple schema -ArchiveBase = declarative_base( - cls=( - DeferredReflection, - BaseModel, - ) -) - +class ArchiveBase(DeferredReflection, BaseModel, DeclarativeBase): + pass class ArchiveDatabaseConnection(SQLADatabaseConnection): dbname = "archive" diff --git a/python/sdssdb/sqlalchemy/archive/sas.py b/python/sdssdb/sqlalchemy/archive/sas.py index 574e8201..176510fe 100644 --- a/python/sdssdb/sqlalchemy/archive/sas.py +++ b/python/sdssdb/sqlalchemy/archive/sas.py @@ -12,15 +12,14 @@ import pathlib from sdssdb.sqlalchemy.archive import database, ArchiveBase -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import relationship, Session +from sqlalchemy.orm import declared_attr, relationship, Session from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy import func SCHEMA = "sas" -class Base(AbstractConcreteBase, ArchiveBase): +class Base(ArchiveBase): __abstract__ = True _schema = SCHEMA _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/mangadb/__init__.py b/python/sdssdb/sqlalchemy/mangadb/__init__.py index 6e95ad8d..aff3265a 100644 --- a/python/sdssdb/sqlalchemy/mangadb/__init__.py +++ b/python/sdssdb/sqlalchemy/mangadb/__init__.py @@ -8,20 +8,15 @@ # @Last modified by: José Sánchez-Gallego (gallegoj@uw.edu) # @Last Modified time: 2018-10-10 11:25:13 -from __future__ import print_function, division, absolute_import +from sqlalchemy.ext.declarative import DeferredReflection +from sqlalchemy.orm import DeclarativeBase from sdssdb.connection import SQLADatabaseConnection -from sqlalchemy.ext.declarative import declarative_base, DeferredReflection from sdssdb.sqlalchemy import BaseModel # we need a shared common Base when joining across multiple schema -MangaBase = declarative_base( - cls=( - DeferredReflection, - BaseModel, - ) -) - +class MangaBase(DeferredReflection, BaseModel, DeclarativeBase): + pass class MANGAdbDatabaseConnection(SQLADatabaseConnection): dbname = "manga" diff --git a/python/sdssdb/sqlalchemy/mangadb/auxdb.py b/python/sdssdb/sqlalchemy/mangadb/auxdb.py index 5904714e..d27ff0d1 100644 --- a/python/sdssdb/sqlalchemy/mangadb/auxdb.py +++ b/python/sdssdb/sqlalchemy/mangadb/auxdb.py @@ -12,13 +12,12 @@ from sdssdb.sqlalchemy.mangadb import MangaBase, database from sdssdb.sqlalchemy.mangadb.datadb import Cube -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sqlalchemy.schema import Column from sqlalchemy.types import JSON -class Base(AbstractConcreteBase, MangaBase): +class Base(MangaBase): __abstract__ = True _schema = "mangaauxdb" diff --git a/python/sdssdb/sqlalchemy/mangadb/dapdb.py b/python/sdssdb/sqlalchemy/mangadb/dapdb.py index a9d04061..3fa31b33 100644 --- a/python/sdssdb/sqlalchemy/mangadb/dapdb.py +++ b/python/sdssdb/sqlalchemy/mangadb/dapdb.py @@ -15,16 +15,15 @@ from sdssdb.sqlalchemy.mangadb import MangaBase, datadb, database from sqlalchemy import Column, Float, and_, case, cast, select from sqlalchemy.engine import reflection -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr from sqlalchemy.ext.hybrid import hybrid_property -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sqlalchemy.types import Integer SCHEMA = "mangadapdb" -class Base(AbstractConcreteBase, MangaBase): +class Base(MangaBase): __abstract__ = True _schema = SCHEMA _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/mangadb/datadb.py b/python/sdssdb/sqlalchemy/mangadb/datadb.py index a19726bf..4d46578b 100644 --- a/python/sdssdb/sqlalchemy/mangadb/datadb.py +++ b/python/sdssdb/sqlalchemy/mangadb/datadb.py @@ -21,9 +21,8 @@ from sqlalchemy import and_, func, select from sqlalchemy.dialects.postgresql import ARRAY from sqlalchemy.engine import reflection -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr from sqlalchemy.ext.hybrid import hybrid_method, hybrid_property -from sqlalchemy.orm import deferred, relationship +from sqlalchemy.orm import declared_attr, deferred, relationship from sqlalchemy.schema import Column from sqlalchemy.sql import column from sqlalchemy.types import Float, Integer, String @@ -32,7 +31,7 @@ SCHEMA = "mangadatadb" -class Base(AbstractConcreteBase, MangaBase): +class Base(MangaBase): __abstract__ = True _schema = SCHEMA _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/mangadb/sampledb.py b/python/sdssdb/sqlalchemy/mangadb/sampledb.py index ab9d2cf1..a9c80648 100644 --- a/python/sdssdb/sqlalchemy/mangadb/sampledb.py +++ b/python/sdssdb/sqlalchemy/mangadb/sampledb.py @@ -17,10 +17,9 @@ import numpy as np from sdssdb.sqlalchemy.mangadb import MangaBase, database from sqlalchemy import Float, ForeignKey, ForeignKeyConstraint, case, cast, func -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr from sqlalchemy.ext.hybrid import hybrid_method, hybrid_property from sqlalchemy.inspection import inspect as sa_inspect -from sqlalchemy.orm import backref, relationship +from sqlalchemy.orm import backref, declared_attr, relationship from sqlalchemy.schema import Column from sqlalchemy.types import Integer @@ -34,7 +33,7 @@ SCHEMA = "mangasampledb" -class Base(AbstractConcreteBase, MangaBase): +class Base(MangaBase): __abstract__ = True _schema = SCHEMA _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/operationsdb/__init__.py b/python/sdssdb/sqlalchemy/operationsdb/__init__.py index 61e0e21a..f1ef23a9 100644 --- a/python/sdssdb/sqlalchemy/operationsdb/__init__.py +++ b/python/sdssdb/sqlalchemy/operationsdb/__init__.py @@ -1,16 +1,13 @@ +from sqlalchemy.ext.declarative import DeferredReflection +from sqlalchemy.orm import DeclarativeBase + from sdssdb.connection import SQLADatabaseConnection -from sqlalchemy.ext.declarative import declarative_base, DeferredReflection from sdssdb.sqlalchemy import BaseModel # we need a shared common Base when joining across multiple schema -OperationsBase = declarative_base( - cls=( - DeferredReflection, - BaseModel, - ) -) - +class OperationsBase(DeferredReflection, BaseModel, DeclarativeBase): + pass class OperationsDBConnection(SQLADatabaseConnection): base = OperationsBase diff --git a/python/sdssdb/sqlalchemy/operationsdb/apogeeqldb.py b/python/sdssdb/sqlalchemy/operationsdb/apogeeqldb.py index 135421cf..4b7a6be2 100644 --- a/python/sdssdb/sqlalchemy/operationsdb/apogeeqldb.py +++ b/python/sdssdb/sqlalchemy/operationsdb/apogeeqldb.py @@ -7,15 +7,14 @@ # @License: BSD 3-clause (http://www.opensource.org/licenses/BSD-3-Clause) from sqlalchemy import Column, ForeignKey, Integer -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sdssdb.sqlalchemy.operationsdb import OperationsBase, database from . import platedb -class Base(AbstractConcreteBase, OperationsBase): +class Base(OperationsBase): __abstract__ = True _schema = "apogeeqldb" _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/operationsdb/mangadb.py b/python/sdssdb/sqlalchemy/operationsdb/mangadb.py index 70ad5eaa..7be06436 100644 --- a/python/sdssdb/sqlalchemy/operationsdb/mangadb.py +++ b/python/sdssdb/sqlalchemy/operationsdb/mangadb.py @@ -10,15 +10,14 @@ from decimal import Decimal from astropy.time import Time -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import backref, relationship +from sqlalchemy.orm import backref, declared_attr, relationship from sdssdb.sqlalchemy.operationsdb import OperationsBase, database, platedb from .tools import dateObs2HA as ha -class MangaDBBase(AbstractConcreteBase, OperationsBase): +class MangaDBBase(OperationsBase): __abstract__ = True _schema = "mangadb" _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/operationsdb/platedb.py b/python/sdssdb/sqlalchemy/operationsdb/platedb.py index 6334b609..0b4b8096 100644 --- a/python/sdssdb/sqlalchemy/operationsdb/platedb.py +++ b/python/sdssdb/sqlalchemy/operationsdb/platedb.py @@ -13,8 +13,7 @@ import sqlalchemy from sqlalchemy import func -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sqlalchemy.orm.exc import MultipleResultsFound, NoResultFound from sqlalchemy.orm.session import Session @@ -32,7 +31,7 @@ warnings.filterwarnings("ignore", ".*Did not recognize type*") -class Base(AbstractConcreteBase, OperationsBase): +class Base(OperationsBase): __abstract__ = True _schema = "platedb" _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/sdss5db/astradb.py b/python/sdssdb/sqlalchemy/sdss5db/astradb.py index f42220f2..9ecb2fae 100644 --- a/python/sdssdb/sqlalchemy/sdss5db/astradb.py +++ b/python/sdssdb/sqlalchemy/sdss5db/astradb.py @@ -3,7 +3,6 @@ # this file was autogenerated with sqlacodegen and then adapted for sdssdb # flake8: noqa: E501,E741 -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr from sqlalchemy import ( ARRAY, BigInteger, @@ -18,7 +17,7 @@ Text, text, ) -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sdssdb.sqlalchemy.sdss5db import SDSS5dbBase, database @@ -26,7 +25,7 @@ SCHEMA = "astra_050" -class Base(AbstractConcreteBase, SDSS5dbBase): +class Base(SDSS5dbBase): __abstract__ = True _schema = SCHEMA _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/sdss5db/opsdb.py b/python/sdssdb/sqlalchemy/sdss5db/opsdb.py index 3776183e..a6a3f74a 100644 --- a/python/sdssdb/sqlalchemy/sdss5db/opsdb.py +++ b/python/sdssdb/sqlalchemy/sdss5db/opsdb.py @@ -20,13 +20,12 @@ Text, text, ) -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sdssdb.sqlalchemy.sdss5db import SDSS5dbBase, database -class Base(AbstractConcreteBase, SDSS5dbBase): +class Base(SDSS5dbBase): __abstract__ = True _schema = "opsdb_apo" if os.getenv("OBSERVATORY") == "APO" else "opsdb_lco" _relations = "define_relations" diff --git a/python/sdssdb/sqlalchemy/sdss5db/targetdb.py b/python/sdssdb/sqlalchemy/sdss5db/targetdb.py index f852a2bb..2e9c4764 100644 --- a/python/sdssdb/sqlalchemy/sdss5db/targetdb.py +++ b/python/sdssdb/sqlalchemy/sdss5db/targetdb.py @@ -21,8 +21,7 @@ text, ) from sqlalchemy.dialects.postgresql import UUID -from sqlalchemy.ext.declarative import AbstractConcreteBase, declared_attr -from sqlalchemy.orm import relationship +from sqlalchemy.orm import declared_attr, relationship from sdssdb.sqlalchemy.sdss5db import SDSS5dbBase, database @@ -30,7 +29,7 @@ SCHEMA = "targetdb" -class Base(AbstractConcreteBase, SDSS5dbBase): +class Base(SDSS5dbBase): __abstract__ = True _schema = SCHEMA _relations = "define_relations"