summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/events.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-11-10 19:19:53 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-11-10 19:19:53 -0500
commit8303afc9c002bade1dd2736a26f302475da9c398 (patch)
tree9d8a095c6773572c167b27e8cb34015acdea2162 /lib/sqlalchemy/events.py
parent3564ea86e7cd982a353b42be4105a40bdf9415a3 (diff)
downloadsqlalchemy-8303afc9c002bade1dd2736a26f302475da9c398.tar.gz
more docs
Diffstat (limited to 'lib/sqlalchemy/events.py')
-rw-r--r--lib/sqlalchemy/events.py37
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`
"""