class DDLElement(roles.DDLRole, Executable, _DDLCompiles):
Known subclasses: sqlalchemy.sql.ddl.DDL
, sqlalchemy.sql.ddl._CreateDropBase
Base class for DDL expression constructs.
This class is the base for the general purpose .DDL
class,
as well as the various create/drop clause constructs such as
.CreateTable
, .DropTable
, .AddConstraint
,
etc.
.DDLElement
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') )
Method | __call__ |
Execute the DDL as a ddl_listener. |
Method | _execute_on_connection |
Undocumented |
Method | _generate |
Undocumented |
Method | _set_bind |
Undocumented |
Method | _should_execute |
Undocumented |
Method | against |
Return a copy of this _schema.DDLElement which will include the given target. |
Method | bind |
Returns the _engine.Engine or _engine.Connection to which this .Executable is bound, or None if none found. |
Method | execute |
Execute this DDL immediately. |
Method | execute_if |
Return a callable that will execute this _ddl.DDLElement conditionally within an event handler. |
Class Variable | _execution_options |
Undocumented |
Class Variable | on |
Undocumented |
Instance Variable | _bind |
Undocumented |
Instance Variable | callable_ |
Undocumented |
Instance Variable | dialect |
Undocumented |
Instance Variable | state |
Undocumented |
Instance Variable | target |
Undocumented |
Inherited from StatementRole
(via DDLRole
):
Class Variable | _propagate_attrs |
Undocumented |
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via DDLRole
, StatementRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from Executable
:
Method | _add_context_option |
Add a context option to this statement. |
Method | _set_compile_options |
Assign the compile options to a new value. |
Method | _update_compile_options |
update the _compile_options with new keys. |
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. |
Method | scalar |
Compile and execute this .Executable , returning the result's scalar representation. |
Class Variable | _executable_traverse_internals |
Undocumented |
Class Variable | _with_context_options |
Undocumented |
Class Variable | _with_options |
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 |
Instance Variable | _compile_options |
Undocumented |
Property | _effective_plugin_target |
Undocumented |
Inherited from StatementRole
(via Executable
):
Class Variable | _propagate_attrs |
Undocumented |
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via Executable
, StatementRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from _DDLCompiles
:
Method | _compile_w_cache |
Undocumented |
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 _DDLCompiles
):
Method | compare |
Compare this _expression.ClauseElement to the given _expression.ClauseElement . |
Method | compile |
Compile this SQL expression. |
Method | params |
Return a copy with _expression.bindparam elements replaced. |
Method | self_group |
Apply a 'grouping' to this _expression.ClauseElement . |
Method | unique_params |
Return a copy with _expression.bindparam elements replaced. |
Method | __bool__ |
Undocumented |
Method | __getstate__ |
Undocumented |
Method | __invert__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __str__ |
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 _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 | __visit_name__ |
Undocumented |
Class Variable | _cache_key_traversal |
Undocumented |
Class Variable | _from_objects |
Undocumented |
Class Variable | _is_bind_parameter |
Undocumented |
Class Variable | _is_clause_list |
Undocumented |
Class Variable | _is_clone_of |
Undocumented |
Class Variable | _is_from_clause |
Undocumented |
Class Variable | _is_from_container |
Undocumented |
Class Variable | _is_immutable |
Undocumented |
Class Variable | _is_lambda_element |
Undocumented |
Class Variable | _is_returns_rows |
Undocumented |
Class Variable | _is_select_container |
Undocumented |
Class Variable | _is_select_statement |
Undocumented |
Class Variable | _is_singleton_constant |
Undocumented |
Class Variable | _is_text_clause |
Undocumented |
Class Variable | _is_textual |
Undocumented |
Class Variable | _order_by_label_element |
Undocumented |
Class Variable | description |
Undocumented |
Class Variable | is_clause_element |
Undocumented |
Class Variable | is_selectable |
Undocumented |
Class Variable | stringify_dialect |
Undocumented |
Class Variable | supports_execution |
Undocumented |
Instance Variable | _propagate_attrs |
like annotations, however these propagate outwards liberally as SQL constructs are built, and are set up at construction time. |
Property | _constructor |
return the 'constructor' for this ClauseElement. |
Property | entity_namespace |
Undocumented |
Inherited from SQLRole
(via _DDLCompiles
, ClauseElement
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SupportsWrappingAnnotations
(via _DDLCompiles
, ClauseElement
):
Method | _annotate |
return a copy of this ClauseElement with annotations updated by the given dictionary. |
Method | _deannotate |
return a copy of this _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 _DDLCompiles
, ClauseElement
, SupportsWrappingAnnotations
):
Property | _annotations_cache_key |
Undocumented |
Inherited from MemoizedHasCacheKey
(via _DDLCompiles
, ClauseElement
):
Method | _generate_cache_key |
return a cache key. |
Inherited from HasCacheKey
(via _DDLCompiles
, ClauseElement
, MemoizedHasCacheKey
):
Class Variable | inherit_cache |
Indicate if this .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 | __slots__ |
Undocumented |
Class Variable | _is_has_cache_key |
Undocumented |
Inherited from HasCopyInternals
(via _DDLCompiles
, ClauseElement
):
Method | _copy_internals |
Reassign internal elements to be clones of themselves. |
Inherited from Traversible
(via _DDLCompiles
, ClauseElement
):
Method | get_children |
Return immediate child .visitors.Traversible elements of this .visitors.Traversible . |
Method | __class_getitem__ |
Undocumented |
Return a copy of this _schema.DDLElement
which will include
the given target.
This essentially applies the given item to the .target attribute
of the returned _schema.DDLElement
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 _schema.Table
.
When a _schema.DDLElement
object is established as an event
handler for the _events.DDLEvents.before_create
or
_events.DDLEvents.after_create
events, and the event
then occurs for a given target such as a _schema.Constraint
or _schema.Table
, that target is established with a copy
of the _schema.DDLElement
object using this method, which
then proceeds to the _schema.DDLElement.execute
method
in order to invoke the actual DDL instruction.
See Also
_schema.DDL
- uses tokenization against the "target" when
processing the DDL string.
Parameters | |
target | a _schema.SchemaItem that will be the subject
of a DDL operation. |
Returns | |
a copy of this _schema.DDLElement with the
.target attribute assigned to the given
_schema.SchemaItem . |
sqlalchemy.sql.base.Executable.bind
Returns the _engine.Engine
or _engine.Connection
to
which this .Executable
is bound, or None if none found.
This is a traversal which checks locally, then checks among the "from" clauses of associated objects until a bound engine or connection is found.
sqlalchemy.sql.base.Executable.execute
Execute this DDL immediately.
Executes the DDL statement in isolation using the supplied
.Connectable
or
.Connectable
assigned to the .bind
property, if not supplied. If the DDL has a conditional on
criteria, it will be invoked with None as the event.
Parameters | |
bind | Optional, an Engine or Connection. If not supplied, a valid
.Connectable must be present in the
.bind property. |
target | Optional, defaults to None. The target _schema.SchemaItem
for the execute call. This is equivalent to passing the
_schema.SchemaItem to the .DDLElement.against
method and then invoking _schema.DDLElement.execute
upon the resulting _schema.DDLElement object. See
.DDLElement.against for further detail. |
Return a callable that will execute this
_ddl.DDLElement
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') )
Parameters | |
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')) |
callable_ | A callable, which will be invoked with four positional arguments as well as optional keyword arguments: If the callable returns a True value, the DDL statement will be executed. |
state | any value which will be passed to the callable_ as the state keyword argument. |
Unknown Field: ddl | |
This DDL element. | |
Unknown Field: target | |
The _schema.Table or _schema.MetaData
object which is the
target of this event. May be None if the DDL is executed
explicitly. | |
Unknown Field: bind | |
The _engine.Connection being used for DDL execution | |
Unknown Field: 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. | |
Unknown Field: state | |
Optional keyword argument - will be the state argument passed to this function. | |
Unknown Field: checkfirst | |
Keyword argument, will be True if the 'checkfirst' flag was set during the call to create(), create_all(), drop(), drop_all(). |