table.py 859 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from __future__ import annotations
  2. import typing as t
  3. import sqlalchemy as sa
  4. import sqlalchemy.sql.schema as sa_sql_schema
  5. class _Table(sa.Table):
  6. @t.overload
  7. def __init__(
  8. self,
  9. name: str,
  10. *args: sa_sql_schema.SchemaItem,
  11. bind_key: str | None = None,
  12. **kwargs: t.Any,
  13. ) -> None:
  14. ...
  15. @t.overload
  16. def __init__(
  17. self,
  18. name: str,
  19. metadata: sa.MetaData,
  20. *args: sa_sql_schema.SchemaItem,
  21. **kwargs: t.Any,
  22. ) -> None:
  23. ...
  24. @t.overload
  25. def __init__(
  26. self, name: str, *args: sa_sql_schema.SchemaItem, **kwargs: t.Any
  27. ) -> None:
  28. ...
  29. def __init__(
  30. self, name: str, *args: sa_sql_schema.SchemaItem, **kwargs: t.Any
  31. ) -> None:
  32. super().__init__(name, *args, **kwargs) # type: ignore[arg-type]