'Execute this DDL immediately.
Executes the DDL statement in isolation using the supplied
:class:`.Connectable` or
:class:`.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.
:param bind:
Optional, an ``Engine`` or ``Connection``. If not supplied, a valid
:class:`.Connectable` must be present in the
``.bind`` property.
:param target:
Optional, defaults to None.  The target SchemaItem for the
execute call.  Will be passed to the ``on`` callable if any,
and may also provide string expansion data for the
statement. See ``execute_at`` for more information.'

def execute(self, bind=None, target=None):

    if (bind is None):
        bind = _bind_or_error(self)
    if self._should_execute(target, bind):
        return bind.execute(self.against(target))
    else:
        bind.engine.logger.info('DDL    execution    skipped,    criteria    not    met.')
