Thanks for the reply. Below is a minimal complete example on SQLAlchemy v1.4.2, Python 3.8.3.
#!/usr/bin/env python
from sqlalchemy.orm import registry
from sqlalchemy.schema import Table
from sqlalchemy import create_engine, MetaData
engine = create_engine("postgresql://postgres@localhost:5432/postgres")
metadata = MetaData()
metadata.reflect(bind=engine, schema='autoload_test')
mapper_registry = registry()
Base = mapper_registry.generate_base()
class MyTable(Base):
__table__ = Table(name='my_table', schema='autoload_test',
metadata=metadata, autoload_with=engine)
Traceback (most recent call last):
File "/Users/demitri/autoload_mve/autoload_test.py", line 14, in <module>
class MyTable(Base):
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/decl_api.py", line 75, in __init__
_as_declarative(reg, cls, dict_)
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/decl_base.py", line 126, in _as_declarative
return _MapperConfig.setup_mapping(registry, cls, dict_, None, {})
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/decl_base.py", line 177, in setup_mapping
return cfg_cls(registry, cls_, dict_, table, mapper_kw)
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/decl_base.py", line 314, in __init__
self._early_mapping(mapper_kw)
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/decl_base.py", line 200, in _early_mapping
self.map(mapper_kw)
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/decl_base.py", line 971, in map
mapper_cls(self.cls, self.local_table, **self.mapper_args),
File "<string>", line 2, in __init__
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 298, in warned
return fn(*args, **kwargs)
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/mapper.py", line 684, in __init__
self._configure_properties()
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/orm/mapper.py", line 1421, in _configure_properties
for column in self.persist_selectable.columns:
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 1095, in __get__
obj.__dict__[self.__name__] = result = self.fget(obj)
File "/usr/local/anaconda/lib/python3.8/site-packages/sqlalchemy/sql/selectable.py", line 747, in columns
return self._columns.as_immutable()