diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-10 19:19:53 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-10 19:19:53 -0500 |
| commit | 8303afc9c002bade1dd2736a26f302475da9c398 (patch) | |
| tree | 9d8a095c6773572c167b27e8cb34015acdea2162 /lib/sqlalchemy/events.py | |
| parent | 3564ea86e7cd982a353b42be4105a40bdf9415a3 (diff) | |
| download | sqlalchemy-8303afc9c002bade1dd2736a26f302475da9c398.tar.gz | |
more docs
Diffstat (limited to 'lib/sqlalchemy/events.py')
| -rw-r--r-- | lib/sqlalchemy/events.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/sqlalchemy/events.py b/lib/sqlalchemy/events.py index e9763e075..ca4959e61 100644 --- a/lib/sqlalchemy/events.py +++ b/lib/sqlalchemy/events.py @@ -6,10 +6,47 @@ class DDLEvents(event.Events): """ Define create/drop event listers for schema objects. + These events currently apply to :class:`.Table` + and :class:`.MetaData` objects as targets. + + e.g.:: + + from sqlalchemy import event + from sqlalchemy import Table, Column, Metadata, Integer + + m = MetaData() + some_table = Table('some_table', m, Column('data', Integer)) + + def on_after_create(target, connection, **kw): + connection.execute("ALTER TABLE %s SET name=foo_%s" % + (target.name, target.name)) + + event.listen(on_after_create, "on_after_create", some_table) + + DDL events integrate closely with the + :class:`.DDL` class and the :class:`.DDLElement` hierarchy + of DDL clause constructs, which are themselves appropriate + as listener callables:: + + from sqlalchemy import DDL + event.listen( + DDL("ALTER TABLE %(table)s SET name=foo_%(table)s"), + "on_after_create", + some_table + ) + + The methods here define the name of an event as well + as the names of members that are passed to listener + functions. + See also: :ref:`event_toplevel` + :class:`.DDLElement` + + :class:`.DDL` + :ref:`schema_ddl_sequences` """ |
