module documentation

The schema module provides the building blocks for database metadata. Each element within this module describes a database entity which can be created and dropped, or is otherwise part of such an entity. Examples include tables, columns, sequences, and indexes. All entities are subclasses of :class:`~sqlalchemy.schema.SchemaItem`, and as defined in this module they are intended to be agnostic of any vendor-specific constructs. A collection of entities are grouped into a unit called :class:`~sqlalchemy.schema.MetaData`. MetaData serves as a logical grouping of schema elements, and can also be associated with an actual database connection such that operations involving the contained elements can contact the database as needed. Two of the elements here also build upon their "syntactic" counterparts, which are defined in :class:`~sqlalchemy.sql.expression.`, specifically :class:`~sqlalchemy.schema.Table` and :class:`~sqlalchemy.schema.Column`. Since these objects are part of the SQL expression language, they are usable as components in SQL expressions.

Class CallableColumnDefault default generator for a callable Python function
Class CheckConstraint A table- or column-level CHECK constraint.
Class Column Represents a column in a database table.
Class ColumnCollectionConstraint A constraint that proxies a ColumnCollection.
Class ColumnCollectionMixin A :class:`_expression.ColumnCollection` of :class:`_schema.Column` objects.
Class ColumnDefault A plain default value on a column.
Class ColumnElementColumnDefault default generator for a SQL expression
Class Computed Defines a generated column, i.e. "GENERATED ALWAYS AS" syntax.
Class Constraint A table-level SQL constraint.
Class DefaultClause A DDL-specified DEFAULT column value.
Class DefaultGenerator Base class for column *default* values.
Class FetchedValue A marker for a transparent database-side default.
Class ForeignKey Defines a dependency between two columns.
Class ForeignKeyConstraint A table-level FOREIGN KEY constraint.
Class HasConditionalDDL define a class that includes the :meth:`.HasConditionalDDL.ddl_if` method, allowing for conditional rendering of DDL.
Class HasSchemaAttr schema item that includes a top-level schema name
Class Identity Defines an identity column, i.e. "GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY" syntax.
Class IdentityOptions Defines options for a named database sequence or an identity column.
Class Index A table-level INDEX.
Class MetaData A collection of :class:`_schema.Table` objects and their associated schema constructs.
Class PrimaryKeyConstraint A table-level PRIMARY KEY constraint.
Class ScalarElementColumnDefault default generator for a fixed scalar Python value
Class SchemaConst No class docstring; 3/3 constants documented
Class SchemaItem Base class for items that define a database schema.
Class Sequence Represents a named database sequence.
Class Table Represent a table in a database.
Class UniqueConstraint A table-level UNIQUE constraint.
Function default_is_clause_element Undocumented
Function default_is_scalar Undocumented
Function default_is_sequence Undocumented
Constant DEFAULT_NAMING_CONVENTION Undocumented
Class _CallableColumnDefaultProtocol Undocumented
Function _copy_expression Undocumented
Function _get_table_key Undocumented
Type Variable _SI Undocumented
Type Variable _T Undocumented
Type Variable _TAB Undocumented
Type Alias _ConstraintNameArgument Undocumented
Type Alias _CreateDropBind Undocumented
Type Alias _ServerDefaultType Undocumented
Type Alias _SQLExprDefault Undocumented
def default_is_clause_element(obj: Optional[DefaultGenerator]) -> TypeGuard[ColumnElementColumnDefault]: (source)

Undocumented

def default_is_scalar(obj: Optional[DefaultGenerator]) -> TypeGuard[ScalarElementColumnDefault]: (source)

Undocumented

def default_is_sequence(obj: Optional[DefaultGenerator]) -> TypeGuard[Sequence]: (source)

Undocumented

DEFAULT_NAMING_CONVENTION: util.immutabledict[str, str] = (source)

Undocumented

Value
util.immutabledict({'ix': 'ix_%(column_0_label)s'})
def _copy_expression(expression: ColumnElement[Any], source_table: Optional[Table], target_table: Optional[Table]) -> ColumnElement[Any]: (source)

Undocumented

def _get_table_key(name: str, schema: Optional[str]) -> str: (source)

Undocumented

Undocumented

Value
TypeVar('_SI',
        bound='SchemaItem')

Undocumented

Value
TypeVar('_T',
        bound='Any')

Undocumented

Value
TypeVar('_TAB',
        bound='Table')
_ConstraintNameArgument = (source)

Undocumented

Value
Optional[Union[str, _NoneName]]
_CreateDropBind = (source)

Undocumented

Value
Union['Engine', 'Connection', 'MockConnection']
_ServerDefaultType = (source)

Undocumented

Value
Union['FetchedValue', str, TextClause, ColumnElement[Any]]
_SQLExprDefault = (source)

Undocumented

Value
Union['ColumnElement[Any]', 'TextClause']