class documentation

Base class for standalone executable DDL expression constructs. This class is the base for the general purpose :class:`.DDL` class, as well as the various create/drop clause constructs such as :class:`.CreateTable`, :class:`.DropTable`, :class:`.AddConstraint`, etc. .. versionchanged:: 2.0 :class:`.ExecutableDDLElement` is renamed from :class:`.DDLElement`, which still exists for backwards compatibility. :class:`.ExecutableDDLElement` integrates closely with SQLAlchemy events, introduced in :ref:`event_toplevel`. An instance of one is itself an event receiving callable:: event.listen( users, 'after_create', AddConstraint(constraint).execute_if(dialect='postgresql') ) .. seealso:: :class:`.DDL` :class:`.DDLEvents` :ref:`event_toplevel` :ref:`schema_ddl_sequences`

Method __call__ Execute the DDL as a ddl_listener.
Method against Return a copy of this :class:`_schema.ExecutableDDLElement` which will include the given target.
Method execute_if Return a callable that will execute this :class:`_ddl.ExecutableDDLElement` conditionally within an event handler.
Instance Variable target Undocumented
Method _execute_on_connection Undocumented
Method _generate Undocumented
Method _invoke_with Undocumented
Method _should_execute Undocumented
Instance Variable _ddl_if Undocumented

Inherited from DDLRole:

Class Variable __slots__ Undocumented

Inherited from Executable (via DDLRole):

Method execution_options Set non-SQL options for the statement which take effect during execution.
Method get_execution_options Get the non-SQL options which will take effect during execution.
Method options Apply options to this statement.
Class Variable __visit_name__ Undocumented
Class Variable is_delete Undocumented
Class Variable is_dml Undocumented
Class Variable is_insert Undocumented
Class Variable is_select Undocumented
Class Variable is_text Undocumented
Class Variable is_update Undocumented
Class Variable supports_execution Undocumented
Method _add_context_option Add a context option to this statement.
Method _compile_w_cache Undocumented
Method _execute_on_scalar Undocumented
Method _set_compile_options Assign the compile options to a new value.
Method _update_compile_options update the _compile_options with new keys.
Class Variable _executable_traverse_internals Undocumented
Class Variable _is_default_generator Undocumented
Class Variable _with_context_options Undocumented
Class Variable _with_options Undocumented
Instance Variable _compile_options Undocumented
Instance Variable _execution_options Undocumented
Property _all_selected_columns Undocumented
Property _effective_plugin_target Undocumented

Inherited from StatementRole (via DDLRole, Executable):

Class Variable _role_name Undocumented
Property _propagate_attrs Undocumented

Inherited from SQLRole (via DDLRole, Executable, StatementRole):

Class Variable allows_lambda Undocumented
Class Variable uses_inspection Undocumented

Inherited from BaseDDLElement (via DDLRole, Executable, StatementRole, SQLRole):

Method _compiler Return a compiler appropriate for this ClauseElement, given a Dialect.
Class Variable _hierarchy_supports_caching disable cache warnings for all _DDLCompiles subclasses.

Inherited from ClauseElement (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement):

Method __bool__ Undocumented
Method __getstate__ Undocumented
Method __invert__ Undocumented
Method __repr__ Undocumented
Method compare Compare this :class:`_expression.ClauseElement` to the given :class:`_expression.ClauseElement`.
Method get_children Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`.
Method params Return a copy with :func:`_expression.bindparam` elements replaced.
Method self_group Apply a 'grouping' to this :class:`_expression.ClauseElement`.
Method unique_params Return a copy with :func:`_expression.bindparam` elements replaced.
Class Variable is_clause_element Undocumented
Class Variable is_selectable Undocumented
Class Variable negation_clause Undocumented
Property description Undocumented
Property entity_namespace Undocumented
Method _clone Create a shallow copy of this ClauseElement.
Method _cloned_set Return the set consisting all cloned ancestors of this ClauseElement.
Method _negate Undocumented
Method _negate_in_binary a hook to allow the right side of a binary expression to respond to a negation of the binary expression.
Method _replace_params Undocumented
Method _set_propagate_attrs Undocumented
Method _ungroup Return this :class:`_expression.ClauseElement` without any groupings.
Method _with_binary_element_type in the context of binary expression, convert the type of this object to the one given.
Class Variable _cache_key_traversal Undocumented
Class Variable _gen_static_annotations_cache_key Undocumented
Class Variable _is_bind_parameter Undocumented
Class Variable _is_clause_list Undocumented
Class Variable _is_clone_of Undocumented
Class Variable _is_column_element Undocumented
Class Variable _is_from_clause Undocumented
Class Variable _is_from_container Undocumented
Class Variable _is_immutable Undocumented
Class Variable _is_keyed_column_element Undocumented
Class Variable _is_lambda_element Undocumented
Class Variable _is_returns_rows Undocumented
Class Variable _is_select_base Undocumented
Class Variable _is_select_container Undocumented
Class Variable _is_select_statement Undocumented
Class Variable _is_singleton_constant Undocumented
Class Variable _is_star Undocumented
Class Variable _is_table Undocumented
Class Variable _is_text_clause Undocumented
Class Variable _is_textual Undocumented
Property _constructor return the 'constructor' for this ClauseElement.
Property _from_objects Undocumented
Property _order_by_label_element Undocumented

Inherited from SupportsWrappingAnnotations (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement):

Method _annotate return a copy of this ClauseElement with annotations updated by the given dictionary.
Method _deannotate return a copy of this :class:`_expression.ClauseElement` with annotations removed.
Method _with_annotations return a copy of this ClauseElement with annotations replaced by the given dictionary.

Inherited from SupportsAnnotations (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations):

Class Variable proxy_set Undocumented
Method _gen_annotations_cache_key Undocumented
Property _annotations_cache_key Undocumented

Inherited from MemoizedHasCacheKey (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations):

Method _generate_cache_key return a cache key.

Inherited from HasCacheKey (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey):

Class Variable inherit_cache Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass.
Class Method _generate_cache_attrs generate cache key dispatcher for a new class.
Class Method _generate_cache_key_for_object Undocumented
Method _gen_cache_key return an optional cache key.
Class Variable _generated_cache_key_traversal Undocumented
Class Variable _is_has_cache_key Undocumented

Inherited from HasCopyInternals (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey):

Method _copy_internals Reassign internal elements to be clones of themselves.

Inherited from HasTraverseInternals (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible):

Class Variable _traverse_internals Undocumented

Inherited from CompilerElement (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible, HasTraverseInternals):

Method __str__ Undocumented
Method compile Compile this SQL expression.
Class Variable stringify_dialect Undocumented

Inherited from Visitable (via DDLRole, Executable, StatementRole, SQLRole, BaseDDLElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible, HasTraverseInternals, CompilerElement):

Method __class_getitem__ Undocumented
Method __init_subclass__ Undocumented
Class Method _generate_compiler_dispatch Undocumented
Method _compiler_dispatch Undocumented
Class Variable _original_compiler_dispatch Undocumented
def __call__(self, target, bind, **kw): (source)

Execute the DDL as a ddl_listener.

@_generative
def against(self, target: SchemaItem) -> Self: (source)

Return a copy of this :class:`_schema.ExecutableDDLElement` which will include the given target. This essentially applies the given item to the ``.target`` attribute of the returned :class:`_schema.ExecutableDDLElement` object. This target is then usable by event handlers and compilation routines in order to provide services such as tokenization of a DDL string in terms of a particular :class:`_schema.Table`. When a :class:`_schema.ExecutableDDLElement` object is established as an event handler for the :meth:`_events.DDLEvents.before_create` or :meth:`_events.DDLEvents.after_create` events, and the event then occurs for a given target such as a :class:`_schema.Constraint` or :class:`_schema.Table`, that target is established with a copy of the :class:`_schema.ExecutableDDLElement` object using this method, which then proceeds to the :meth:`_schema.ExecutableDDLElement.execute` method in order to invoke the actual DDL instruction. :param target: a :class:`_schema.SchemaItem` that will be the subject of a DDL operation. :return: a copy of this :class:`_schema.ExecutableDDLElement` with the ``.target`` attribute assigned to the given :class:`_schema.SchemaItem`. .. seealso:: :class:`_schema.DDL` - uses tokenization against the "target" when processing the DDL string.

@_generative
def execute_if(self, dialect: Optional[str] = None, callable_: Optional[DDLIfCallable] = None, state: Optional[Any] = None) -> Self: (source)

Return a callable that will execute this :class:`_ddl.ExecutableDDLElement` conditionally within an event handler. Used to provide a wrapper for event listening:: event.listen( metadata, 'before_create', DDL("my_ddl").execute_if(dialect='postgresql') ) :param dialect: May be a string or tuple of strings. If a string, it will be compared to the name of the executing database dialect:: DDL('something').execute_if(dialect='postgresql') If a tuple, specifies multiple dialect names:: DDL('something').execute_if(dialect=('postgresql', 'mysql')) :param callable\_: A callable, which will be invoked with three positional arguments as well as optional keyword arguments: :ddl: This DDL element. :target: The :class:`_schema.Table` or :class:`_schema.MetaData` object which is the target of this event. May be None if the DDL is executed explicitly. :bind: The :class:`_engine.Connection` being used for DDL execution. May be None if this construct is being created inline within a table, in which case ``compiler`` will be present. :tables: Optional keyword argument - a list of Table objects which are to be created/ dropped within a MetaData.create_all() or drop_all() method call. :dialect: keyword argument, but always present - the :class:`.Dialect` involved in the operation. :compiler: keyword argument. Will be ``None`` for an engine level DDL invocation, but will refer to a :class:`.DDLCompiler` if this DDL element is being created inline within a table. :state: Optional keyword argument - will be the ``state`` argument passed to this function. :checkfirst: Keyword argument, will be True if the 'checkfirst' flag was set during the call to ``create()``, ``create_all()``, ``drop()``, ``drop_all()``. If the callable returns a True value, the DDL statement will be executed. :param state: any value which will be passed to the callable\_ as the ``state`` keyword argument. .. seealso:: :meth:`.SchemaItem.ddl_if` :class:`.DDLEvents` :ref:`event_toplevel`

Undocumented

def _execute_on_connection(self, connection, distilled_params, execution_options): (source)
def _generate(self): (source)

Undocumented

def _invoke_with(self, bind): (source)

Undocumented

def _should_execute(self, target, bind, **kw): (source)

Undocumented

Undocumented