stubs/sqlalchemy/sql/ddl.pyi (199 lines of code) (raw):

from typing import ( Any, Callable, Dict, Generic, List, Optional, Sequence, Set, Tuple, TypeVar, Union, ) from typing_extensions import Protocol from ..engine import Connectable, Connection, Dialect, Engine, ResultProxy from .base import Executable as Executable from .base import SchemaVisitor as SchemaVisitor from .compiler import IdentifierPreparer from .elements import ClauseElement as ClauseElement from .elements import ColumnElement from .schema import ForeignKey, ForeignKeyConstraint, MetaData, SchemaItem, Table from .type_api import TypeEngine _T = TypeVar("_T") class _DDLCompiles(ClauseElement): ... class _DDLCallable(Protocol): def __call__( self, ddl: DDLElement, target: Optional[Union[Table, MetaData]], bind: Connection, tables: Optional[List[Any]] = ..., state: Optional[Any] = ..., checkfirst: bool = ..., ) -> bool: ... class _DDLOnCallback(Protocol): def __call__( self, ddl: DDLElement, event: Optional[str], target: Optional[Union[Table, MetaData]], connection: Connection, tables: Optional[List[Any]] = ..., ) -> bool: ... _DDLE = TypeVar("_DDLE", bound=DDLElement) class DDLElement(Executable, _DDLCompiles): target: Optional[SchemaItem] = ... on: Optional[Union[str, Tuple[str, ...], _DDLOnCallback]] = ... dialect: Optional[Dialect] = ... callable_: Optional[_DDLCallable] = ... bind: Optional[Union[Engine, Connection]] = ... def execute( self, bind: Optional[Union[Engine, Connection]] = ..., # type: ignore # incompatible with Executable.execute target: Optional[SchemaItem] = ..., ) -> Optional[ResultProxy]: ... def execute_at(self, event_name: str, target: SchemaItem) -> None: ... def against(self: _DDLE, target: SchemaItem) -> _DDLE: ... state: Any = ... def execute_if( self: _DDLE, dialect: Optional[Dialect] = ..., callable_: Optional[_DDLCallable] = ..., state: Optional[Any] = ..., ) -> _DDLE: ... def __call__( self, target: Optional[Union[Table, MetaData]], bind: Connection, **kw: Any ) -> Optional[ResultProxy]: ... class DDL(DDLElement): __visit_name__: str = ... statement: str = ... context: Dict[Any, Any] = ... on: Optional[Union[str, Tuple[str, ...], _DDLOnCallback]] = ... def __init__( self, statement: str, on: Optional[Union[str, Tuple[str, ...], _DDLOnCallback]] = ..., context: Optional[Dict[Any, Any]] = ..., bind: Optional[Connectable] = ..., ) -> None: ... class _CreateDropBase(DDLElement, Generic[_T]): element: _T = ... bind: Optional[Connection] = ... def __init__( self, element: _T, on: Optional[Union[str, Tuple[str, ...], _DDLOnCallback]] = ..., bind: Optional[Connection] = ..., ) -> None: ... class CreateSchema(_CreateDropBase[str]): __visit_name__: str = ... quote: Any = ... def __init__(self, name: str, quote: Optional[Any] = ..., **kw) -> None: ... class DropSchema(_CreateDropBase[str]): __visit_name__: str = ... quote: Any = ... cascade: bool = ... def __init__( self, name: str, quote: Optional[Any] = ..., cascade: bool = ..., **kw ) -> None: ... class CreateTable(_CreateDropBase[Table]): __visit_name__: str = ... columns: List[CreateColumn[Any]] = ... include_foreign_key_constraints: Optional[Sequence[ForeignKeyConstraint]] = ... def __init__( self, element: Table, on: Optional[Union[str, Tuple[str, ...], _DDLOnCallback]] = ..., bind: Optional[Connectable] = ..., include_foreign_key_constraints: Optional[Sequence[ForeignKeyConstraint]] = ..., ) -> None: ... class _DropView(_CreateDropBase[str]): __visit_name__: str = ... class CreateColumn(_DDLCompiles, Generic[_T]): __visit_name__: str = ... element: ColumnElement[_T] = ... def __init__(self, element: ColumnElement[_T]) -> None: ... class DropTable(_CreateDropBase[str]): __visit_name__: str = ... class CreateSequence(_CreateDropBase[str]): __visit_name__: str = ... class DropSequence(_CreateDropBase[str]): __visit_name__: str = ... class CreateIndex(_CreateDropBase[str]): __visit_name__: str = ... class DropIndex(_CreateDropBase[str]): __visit_name__: str = ... class AddConstraint(_CreateDropBase[str]): __visit_name__: str = ... def __init__(self, element: str, *args: Any, **kw: Any) -> None: ... class DropConstraint(_CreateDropBase[str]): __visit_name__: str = ... cascade: bool = ... def __init__(self, element: str, cascade: bool = ..., **kw: Any) -> None: ... class DDLBase(SchemaVisitor): connection: Connection = ... def __init__(self, connection: Connection) -> None: ... class SchemaGenerator(DDLBase): checkfirst: bool = ... tables: Optional[List[Table]] = ... preparer: IdentifierPreparer = ... dialect: Dialect = ... memo: Dict[Any, Any] = ... def __init__( self, dialect: Dialect, connection: Connection, checkfirst: bool = ..., tables: Optional[List[Table]] = ..., **kwargs: Any ) -> None: ... def visit_metadata(self, metadata: MetaData) -> None: ... def visit_table( self, table: Table, create_ok: bool = ..., include_foreign_key_constraints: Optional[Sequence[ForeignKeyConstraint]] = ..., _is_metadata_operation: bool = ..., ) -> None: ... def visit_foreign_key_constraint( self, constraint: ForeignKeyConstraint ) -> None: ... def visit_sequence(self, sequence: str, create_ok: bool = ...): ... def visit_index(self, index: str) -> None: ... class SchemaDropper(DDLBase): checkfirst: bool = ... tables: Optional[List[Table]] = ... preparer: IdentifierPreparer = ... dialect: Dialect = ... memo: Dict[Any, Any] = ... def __init__( self, dialect: Dialect, connection: Connection, checkfirst: bool = ..., tables: Optional[List[Table]] = ..., **kwargs: Any ) -> None: ... def visit_metadata(self, metadata: MetaData) -> None: ... def visit_index(self, index: str) -> None: ... def visit_table( self, table: Table, drop_ok: bool = ..., _is_metadata_operation: bool = ... ) -> None: ... def visit_foreign_key_constraint( self, constraint: ForeignKeyConstraint ) -> None: ... def visit_sequence(self, sequence: str, drop_ok: bool = ...) -> None: ... def sort_tables( tables: Sequence[Table], skip_fn: Optional[Callable[[ForeignKey], bool]] = ..., extra_dependencies: Optional[Sequence[Tuple[Table, Table]]] = ..., ) -> List[Table]: ... _SortResultType = List[ Tuple[Optional[Table], Union[Set[ForeignKeyConstraint], List[ForeignKeyConstraint]]] ] def sort_tables_and_constraints( tables: Sequence[Table], filter_fn: Optional[Callable[[ForeignKeyConstraint], Optional[bool]]] = ..., extra_dependencies: Optional[Sequence[Tuple[Table, Table]]] = ..., ) -> _SortResultType: ...