Compare commits

...
Author SHA1 Message Date
Evan RusackasandClaude Sonnet 5 55a3c18ddc refactor(sqla2): migrate off sqlalchemy.ext.declarative, lock in 3 more 2.0 warnings
Part of the SQLAlchemy 2.0 migration battleplan
(https://github.com/apache/superset/discussions/40273).

sqlalchemy.ext.declarative.declarative_base/declared_attr/DeclarativeMeta
are deprecated re-exports; sqlalchemy.orm has carried the real
implementations since 1.4. Swap the import path across all 101
occurrences (mostly frozen historical Alembic migrations building their
own scoped declarative Base) to the non-deprecated path — a pure
import-path change, no behavior change.

With that done, promote 3 more categories from the SQLAlchemy 2.0
deprecation-warning battleplan in pytest.ini from a bare warning to a
regression-guarding error: the legacy declarative_base()/as_declarative()
split (only declarative_base — as_declarative() itself is still used by
Flask-AppBuilder's own base_legacy.py against the deprecated path, so it
can't be promoted from our side), the legacy Engine.execute() method, and
the legacy Connection.execute() calling convention distinct from the
string-passing case already enforced.

`The \`database\` package is deprecated` was also a candidate but is
tripped by pyhive's own `from sqlalchemy.databases import mysql` at
collection time (test_presto.py, test_databricks*.py) — left commented,
same as as_declarative(), since neither is fixable from Superset's side
today.

Verified via full tests/unit_tests + tests/common run with
SQLALCHEMY_WARN_20=1 and all 8 now-enforced categories promoted: only
the 2 pre-existing, unrelated date-boundary-sensitive flaky tests
(test_get_time_filter, test_previous_calendar_quarter — reproduce on
plain master with no env vars set) fail; nothing else.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-13 21:51:19 -07:00
102 changed files with 149 additions and 121 deletions
+2 -1
View File
@@ -38,7 +38,8 @@ filterwarnings =
# error:The autoload parameter is deprecated:sqlalchemy.exc.RemovedIn20Warning
error:The connection.execute\(\) method:sqlalchemy.exc.RemovedIn20Warning
# error:The current statement is being autocommitted using implicit autocommit:sqlalchemy.exc.RemovedIn20Warning
# error:The ``declarative_base\(\)`` function is now available:sqlalchemy.exc.RemovedIn20Warning
# error:The `database` package is deprecated:sqlalchemy.exc.RemovedIn20Warning
error:The ``declarative_base\(\)`` function is now available:sqlalchemy.exc.RemovedIn20Warning
error:The Engine.execute\(\) method is considered legacy:sqlalchemy.exc.RemovedIn20Warning
error:The legacy calling style of select\(\) is deprecated:sqlalchemy.exc.RemovedIn20Warning
error:The "whens" argument to case:sqlalchemy.exc.RemovedIn20Warning
+1 -1
View File
@@ -49,10 +49,10 @@ from sqlalchemy import (
Text,
)
from sqlalchemy.engine.base import Connection
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.ext.hybrid import hybrid_property
from sqlalchemy.orm import (
backref,
declared_attr,
foreign,
Mapped,
Query,
+1 -1
View File
@@ -25,7 +25,7 @@ from uuid import UUID
from flask_babel import lazy_gettext as _
from sqlalchemy.engine.url import URL as SqlaURL # noqa: N811
from sqlalchemy.exc import NoSuchTableError
from sqlalchemy.ext.declarative import DeclarativeMeta
from sqlalchemy.orm import DeclarativeMeta
from sqlalchemy.orm.exc import ObjectDeletedError
from sqlalchemy.sql.type_api import TypeEngine
+1 -2
View File
@@ -24,8 +24,7 @@ from typing import Any, Type, Union
import sqlalchemy as sa
from alembic import op
from flask import current_app
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import lazyload, Session
from sqlalchemy.orm import declarative_base, lazyload, Session
from superset import db, security_manager
from superset.db_engine_specs.base import GenericDBException
@@ -20,8 +20,7 @@ from typing import Any
from flask import current_app
from sqlalchemy import and_, Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Session
from sqlalchemy.orm import declarative_base, Session
from superset.constants import TimeGrain
from superset.migrations.shared.utils import paginated_update, try_load_json
@@ -26,8 +26,7 @@ from sqlalchemy import (
Table,
UniqueConstraint,
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Load, relationship, Session
from sqlalchemy.orm import declarative_base, Load, relationship, Session
logger = logging.getLogger("alembic.env")
@@ -25,7 +25,7 @@ Create Date: 2016-04-25 08:54:04.303859
import sqlalchemy as sa
from alembic import op
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
@@ -29,7 +29,7 @@ down_revision = "1226819ee0e3"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Boolean, Column, Integer # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
@@ -28,8 +28,11 @@ down_revision = "d8bc074f7aad"
from alembic import op # noqa: E402
from sqlalchemy import Column, ForeignKey, Integer, Table # noqa: E402
from sqlalchemy.ext.declarative import declarative_base, declared_attr # noqa: E402
from sqlalchemy.orm import relationship # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
declarative_base,
declared_attr,
relationship, # noqa: E402
)
from superset import db # noqa: E402
from superset.utils.core import get_user_id # noqa: E402
@@ -25,7 +25,7 @@ Create Date: 2016-09-07 23:50:59.366779
import sqlalchemy as sa
from alembic import op
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
@@ -24,7 +24,7 @@ Create Date: 2016-09-22 11:31:50.543820
from alembic import op
from sqlalchemy import Boolean, Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
@@ -28,7 +28,7 @@ down_revision = "f18570e03440"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -30,7 +30,7 @@ from urllib import parse # noqa: E402
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -24,7 +24,7 @@ Create Date: 2017-12-08 08:19:21.148775
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -24,7 +24,7 @@ Create Date: 2017-12-17 11:06:30.180267
from alembic import op
from sqlalchemy import Column, Integer, or_, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -23,7 +23,7 @@ Create Date: 2018-02-13 08:07:40.766277
import sqlalchemy as sa
from alembic import op
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -24,7 +24,7 @@ Create Date: 2018-04-03 08:19:34.098789
import sqlalchemy as sa
from alembic import op
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
@@ -24,7 +24,7 @@ Create Date: 2018-04-10 11:19:47.621878
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "e502db2af7be"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "c5756bec8b47"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -36,7 +36,7 @@ from sqlalchemy import ( # noqa: E402
String,
Text,
)
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -29,7 +29,7 @@ down_revision = "80a67c5192fa"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -29,7 +29,7 @@ down_revision = "afb7730f6a9c"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -29,7 +29,7 @@ import datetime
import isodate
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "18dc26817ad2"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils.core import MediumText # noqa: E402
@@ -31,7 +31,7 @@ down_revision = "937d04c16b64"
from alembic import op # noqa: E402
from sqlalchemy import Column, engine, Integer, String # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils.core import generic_find_uq_constraint_name # noqa: E402
@@ -31,7 +31,7 @@ down_revision = "7f2635b51f5d"
from alembic import op # noqa: E402
from sqlalchemy import Column, engine, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils.core import generic_find_uq_constraint_name # noqa: E402
@@ -30,8 +30,7 @@ from functools import reduce
from alembic import op
from sqlalchemy import Column, ForeignKey, Integer, String, Table, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy.orm import declarative_base, relationship
from superset import db
from superset.utils import json
@@ -31,7 +31,7 @@ from datetime import datetime # noqa: E402
from alembic import op # noqa: E402
from flask_appbuilder.models.mixins import AuditMixin # noqa: E402
from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, String # noqa: E402
from sqlalchemy.ext.declarative import declarative_base, declared_attr # noqa: E402
from sqlalchemy.orm import declarative_base, declared_attr # noqa: E402
from superset.tags.models import ObjectType, TagType # noqa: E402
from superset.utils.core import get_user_id # noqa: E402
@@ -27,7 +27,7 @@ import re
import sqlalchemy as sa
from alembic import op
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -25,7 +25,7 @@ Create Date: 2018-11-12 13:31:07.578090
# revision identifiers, used by Alembic.
from alembic import op
from sqlalchemy import Column, Integer, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "80aa3f04bc82"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils.core import MediumText # noqa: E402
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -30,7 +30,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import and_, Column, ForeignKey, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
@@ -25,8 +25,7 @@ Create Date: 2019-09-11 21:49:00.608346
# revision identifiers, used by Alembic.
from alembic import op
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy.orm import declarative_base, relationship
from superset import db
@@ -26,7 +26,7 @@ import re
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils.core import MediumText
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.legacy import update_time_range
@@ -31,7 +31,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -27,8 +27,7 @@ import logging
from alembic import op
from sqlalchemy import Column, ForeignKey, Integer, String, Table, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy.orm import declarative_base, relationship
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "b5998378c225"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "f9a30386bd74"
from alembic import op # noqa: E402
from sqlalchemy import Column, ForeignKey, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db, db_engine_specs # noqa: E402
from superset.databases.utils import make_url_safe # noqa: E402
@@ -28,8 +28,7 @@ from collections import defaultdict
from alembic import op
from sqlalchemy import Column, ForeignKey, Integer, String, Table, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy.orm import declarative_base, relationship
from superset import db
from superset.utils import json
@@ -40,8 +40,11 @@ from sqlalchemy import ( # noqa: E402
UniqueConstraint,
)
from sqlalchemy.exc import SQLAlchemyError # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import backref, relationship # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
backref,
declarative_base, # noqa: E402
relationship,
)
Base = declarative_base()
@@ -27,8 +27,7 @@ from uuid import uuid4
import sqlalchemy as sa
from alembic import op
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import load_only
from sqlalchemy.orm import declarative_base, load_only
from sqlalchemy_utils import UUIDType
from superset import db
@@ -25,8 +25,13 @@ Create Date: 2020-10-05 18:10:52.272047
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects.sqlite.base import SQLiteDialect
from sqlalchemy.ext.declarative import declarative_base, declared_attr
from sqlalchemy.orm import backref, relationship, RelationshipProperty
from sqlalchemy.orm import (
backref,
declarative_base,
declared_attr,
relationship,
RelationshipProperty,
)
from superset import db
from superset.migrations.shared.utils import create_table
@@ -28,7 +28,7 @@ from uuid import uuid4
import sqlalchemy as sa
from alembic import op
from sqlalchemy.exc import OperationalError
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from sqlalchemy_utils import UUIDType
from superset import db
@@ -34,7 +34,7 @@ from sqlalchemy import Column, Integer, or_, Text # noqa: E402
from sqlalchemy.dialects.mysql.base import MySQLDialect # noqa: E402
from sqlalchemy.dialects.sqlite.base import SQLiteDialect # noqa: E402
from sqlalchemy.exc import OperationalError # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "41ce8799acc3"
from alembic import op # noqa: E402
from sqlalchemy import and_, Boolean, Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "e11ccdd12658"
from alembic import op # noqa: E402
from sqlalchemy import and_, Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -24,7 +24,7 @@ Create Date: 2021-02-14 11:46:02.379832
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "67da9ef1ef9c"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -30,7 +30,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -24,7 +24,7 @@ Create Date: 2021-04-09 16:14:19.040884
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -31,7 +31,7 @@ from typing import Any # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -31,7 +31,7 @@ from typing import Any # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "e323605f370a"
from alembic import op # noqa: E402
from sqlalchemy import and_, Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -30,7 +30,7 @@ import logging # noqa: E402
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "3ebe0993c770"
from alembic import op # noqa: E402
from sqlalchemy import and_, Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "60dc453f4e2e"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -30,7 +30,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "31bb738bd1d2"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
@@ -30,7 +30,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -31,7 +31,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -24,7 +24,7 @@ Create Date: 2022-03-02 09:20:02.919490
from alembic import op
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
@@ -29,7 +29,7 @@ down_revision = "ab9a9d86e695"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -31,8 +31,13 @@ import sqlalchemy as sa
from alembic import op
from sqlalchemy import select, text
from sqlalchemy.exc import NoSuchModuleError
from sqlalchemy.ext.declarative import declarative_base, declared_attr
from sqlalchemy.orm import backref, relationship, Session
from sqlalchemy.orm import (
backref,
declarative_base,
declared_attr,
relationship,
Session,
)
from sqlalchemy.schema import UniqueConstraint
from sqlalchemy.sql import functions as func
from sqlalchemy.sql.expression import and_, or_
@@ -24,7 +24,7 @@ Create Date: 2022-04-04 15:04:05.606340
from alembic import op
from sqlalchemy import Column, Integer, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "cecc6bf46990"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "a9422eeaae74"
from alembic import op # noqa: E402
from sqlalchemy import Column, Float, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.reports.models import ReportState # noqa: E402
@@ -36,8 +36,11 @@ from sqlalchemy import ( # noqa: E402
Table,
UniqueConstraint,
)
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import relationship, Session # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
declarative_base, # noqa: E402
relationship,
Session,
)
Base = declarative_base()
@@ -28,8 +28,10 @@ down_revision = "e09b4ae78457"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import Session # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
declarative_base,
Session,
)
Base = declarative_base()
@@ -30,8 +30,10 @@ import pickle # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, LargeBinary, String # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import Session # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
declarative_base,
Session,
)
from superset import db # noqa: E402
from superset.migrations.shared.utils import paginated_update # noqa: E402
@@ -24,7 +24,7 @@ Create Date: 2022-07-05 15:48:06.029190
from alembic import op
from sqlalchemy import and_, Column, insert, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
# revision identifiers, used by Alembic.
from superset import db
@@ -24,7 +24,7 @@ Create Date: 2022-08-16 15:23:42.860038
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -28,7 +28,7 @@ down_revision = "deb4c9d4a4ef"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "9c2a5681ddfd"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "c0a3ea245b61"
from alembic import op # noqa: E402
from sqlalchemy import and_, Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "d0ac08bb5b83"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -30,7 +30,7 @@ import logging # noqa: E402
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -31,8 +31,10 @@ import pickle # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, LargeBinary, String # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import Session # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
declarative_base,
Session,
)
from superset import db # noqa: E402
from superset.migrations.shared.utils import paginated_update # noqa: E402
@@ -31,7 +31,7 @@ import logging # noqa: E402
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.migrations.shared.utils import paginated_update # noqa: E402
@@ -30,7 +30,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -31,7 +31,7 @@ import logging # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.utils import json # noqa: E402
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, or_, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.utils import json
@@ -29,7 +29,7 @@ down_revision = "ee179a490af9"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.dialects.sqlite.base import SQLiteDialect # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "4448fa6deeb1"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.migrations.shared.utils import paginated_update # noqa: E402
@@ -28,7 +28,7 @@ down_revision = "ec54aca4c8a2"
import sqlalchemy as sa # noqa: E402
from alembic import op # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.migrations.shared.utils import ( # noqa: E402
@@ -24,7 +24,7 @@ Create Date: 2023-12-15 17:58:18.277951
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.migrations.shared.utils import paginated_update
@@ -28,8 +28,10 @@ down_revision = "a32e0c4d8646"
from alembic import op # noqa: E402
from sqlalchemy import Column, ForeignKey, Integer, String, Table, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import relationship # noqa: E402
from sqlalchemy.orm import ( # noqa: E402
declarative_base,
relationship,
)
from superset import db # noqa: E402
from superset.migrations.shared.native_filters import migrate_dashboard # noqa: E402
@@ -29,7 +29,7 @@ down_revision = "17fcea065655"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.migrations.shared.utils import paginated_update # noqa: E402
@@ -30,7 +30,7 @@ from typing import Any
from alembic import op
from sqlalchemy import Column, Integer, or_, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.migrations.shared.utils import paginated_update
@@ -28,7 +28,7 @@ down_revision = "32bf93dfe2a4"
from alembic import op # noqa: E402
from sqlalchemy import Column, Integer, String, Text # noqa: E402
from sqlalchemy.ext.declarative import declarative_base # noqa: E402
from sqlalchemy.orm import declarative_base # noqa: E402
from superset import db # noqa: E402
from superset.migrations.shared.utils import paginated_update # noqa: E402
@@ -27,7 +27,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, JSON, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.migrations.shared.utils import paginated_update
@@ -26,7 +26,7 @@ import logging
from alembic import op
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from superset import db
from superset.migrations.shared.utils import paginated_update
+8 -2
View File
@@ -59,9 +59,15 @@ from markupsafe import escape, Markup
from pandas import DateOffset
from sqlalchemy import and_, Column, or_, UniqueConstraint
from sqlalchemy.exc import MultipleResultsFound
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.ext.hybrid import hybrid_property
from sqlalchemy.orm import Mapped, Mapper, Session, validates, with_loader_criteria
from sqlalchemy.orm import (
declared_attr,
Mapped,
Mapper,
Session,
validates,
with_loader_criteria,
)
from sqlalchemy.orm.session import ORMExecuteState
from sqlalchemy.sql.elements import ColumnElement, Grouping, literal_column, TextClause
from sqlalchemy.sql.expression import Label, Select, TextAsFrom
+4 -2
View File
@@ -32,8 +32,10 @@ from flask_appbuilder.security.sqla import models as ab_models
from flask_testing import TestCase
from sqlalchemy.dialects.mysql import dialect
from sqlalchemy.engine.interfaces import Dialect
from sqlalchemy.ext.declarative import DeclarativeMeta
from sqlalchemy.orm import Session # noqa: F401
from sqlalchemy.orm import (
DeclarativeMeta,
Session, # noqa: F401
)
from sqlalchemy.sql import func
from superset import db, security_manager
+1 -1
View File
@@ -35,7 +35,7 @@ import pytest
from flask_appbuilder.models.filters import BaseFilter
from flask_appbuilder.security.sqla.models import User
from sqlalchemy import Column, DateTime, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm.session import Session
from superset.daos.base import BaseDAO, ColumnOperator, ColumnOperatorEnum

Some files were not shown because too many files have changed in this diff Show More