) -> ProperType:
if node.fullname == "sqlalchemy.sql.sqltypes.Enum" and type_args:
first_arg = type_args[0]
- if isinstance(first_arg, NameExpr) and isinstance(
+ if isinstance(first_arg, RefExpr) and isinstance(
first_arg.node, TypeInfo
):
for base_ in first_arg.node.mro:
--- /dev/null
+from sqlalchemy import Column
+from sqlalchemy import Enum
+from sqlalchemy.orm import declarative_base, Mapped
+
+from .enum_col_import1 import StrEnum, IntEnum
+
+from . import enum_col_import1
+
+Base = declarative_base()
+
+class TestEnum(Base):
+ __tablename__ = "test_enum"
+
+ e1: Mapped[StrEnum] = Column(Enum(StrEnum))
+ e2: StrEnum = Column(Enum(StrEnum))
+
+ e3: Mapped[IntEnum] = Column(Enum(IntEnum))
+ e4: IntEnum = Column(Enum(IntEnum))
+
+ e5: Mapped[enum_col_import1.StrEnum] = Column(Enum(enum_col_import1.StrEnum))
+ e6: enum_col_import1.StrEnum = Column(Enum(enum_col_import1.StrEnum))
+
+ e7: Mapped[enum_col_import1.IntEnum] = Column(Enum(enum_col_import1.IntEnum))
+ e8: enum_col_import1.IntEnum = Column(Enum(enum_col_import1.IntEnum))