summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/schema.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/schema.py')
-rw-r--r--lib/sqlalchemy/schema.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index ff953cef7..6d6a4485d 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -383,8 +383,7 @@ class Table(SchemaItem, expression.TableClause):
def adapt_listener(target, connection, **kw):
listener(event_name, target, connection, **kw)
- event.listen(adapt_listener,
- "on_" + event_name.replace('-', '_'), self)
+ event.listen(self, "on_" + event_name.replace('-', '_'), adapt_listener)
def _set_parent(self, metadata):
metadata._add_table(self.name, self.schema, self)
@@ -1750,8 +1749,8 @@ class ForeignKeyConstraint(Constraint):
return table in set(kw['tables']) and \
bind.dialect.supports_alter
- event.listen(AddConstraint(self, on=supports_alter), "on_after_create", table.metadata)
- event.listen(DropConstraint(self, on=supports_alter), "on_before_drop", table.metadata)
+ event.listen(table.metadata, "on_after_create", AddConstraint(self, on=supports_alter))
+ event.listen(table.metadata, "on_before_drop", DropConstraint(self, on=supports_alter))
def copy(self, **kw):
@@ -2082,8 +2081,7 @@ class MetaData(SchemaItem):
def adapt_listener(target, connection, **kw):
listener(event, target, connection, **kw)
- event.listen(adapt_listener,
- "on_" + event_name.replace('-', '_'), self)
+ event.listen(self, "on_" + event_name.replace('-', '_'), adapt_listener)
def create_all(self, bind=None, tables=None, checkfirst=True):
"""Create all tables stored in this metadata.
@@ -2216,9 +2214,9 @@ class DDLElement(expression.Executable, expression.ClauseElement):
itself an event receiving callable::
event.listen(
- AddConstraint(constraint).execute_if(dialect='postgresql'),
+ users,
'on_after_create',
- users
+ AddConstraint(constraint).execute_if(dialect='postgresql')
)
See also:
@@ -2307,7 +2305,7 @@ class DDLElement(expression.Executable, expression.ClauseElement):
target, connection, **kw):
return connection.execute(self.against(target))
- event.listen(call_event, "on_" + event_name.replace('-', '_'), target)
+ event.listen(target, "on_" + event_name.replace('-', '_'), call_event)
@expression._generative
def against(self, target):
@@ -2323,9 +2321,9 @@ class DDLElement(expression.Executable, expression.ClauseElement):
Used to provide a wrapper for event listening::
event.listen(
- DDL("my_ddl").execute_if(dialect='postgresql'),
+ metadata,
'on_before_create',
- metadata
+ DDL("my_ddl").execute_if(dialect='postgresql')
)
:param dialect: May be a string, tuple or a callable
@@ -2444,10 +2442,10 @@ class DDL(DDLElement):
from sqlalchemy import event, DDL
tbl = Table('users', metadata, Column('uid', Integer))
- event.listen(DDL('DROP TRIGGER users_trigger'), 'on_before_create', tbl)
+ event.listen(tbl, 'on_before_create', DDL('DROP TRIGGER users_trigger'))
spow = DDL('ALTER TABLE %(table)s SET secretpowers TRUE')
- event.listen(spow.execute_if(dialect='somedb'), 'on_after_create', tbl)
+ event.listen(tbl, 'on_after_create', spow.execute_if(dialect='somedb'))
drop_spow = DDL('ALTER TABLE users SET secretpowers FALSE')
connection.execute(drop_spow)