diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-10-25 21:27:08 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-10-25 21:27:08 +0000 |
commit | eb9763febe58655ca0f61fa758925c56b94ece9b (patch) | |
tree | 52b93cd7ef50ae799d16fd4bc9d1c5ff5fd34e41 /lib/sqlalchemy/schema.py | |
parent | a5f827b12dbceb1c6e8f8b787548b9de326fe076 (diff) | |
download | sqlalchemy-eb9763febe58655ca0f61fa758925c56b94ece9b.tar.gz |
- generalized Enum to issue a CHECK constraint + VARCHAR on default platform
- added native_enum=False flag to do the same on MySQL, PG, if desired
Diffstat (limited to 'lib/sqlalchemy/schema.py')
-rw-r--r-- | lib/sqlalchemy/schema.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index b99f79a8e..44f53f235 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -28,7 +28,7 @@ expressions. """ import re, inspect -from sqlalchemy import types, exc, util, dialects +from sqlalchemy import exc, util, dialects from sqlalchemy.sql import expression, visitors URL = None @@ -765,12 +765,12 @@ class Column(SchemaItem, expression.ColumnClause): table.append_constraint(UniqueConstraint(self.key)) for fn in self._table_events: - fn(table) + fn(table, self) del self._table_events def _on_table_attach(self, fn): if self.table is not None: - fn(self.table) + fn(self.table, self) else: self._table_events.add(fn) @@ -819,7 +819,7 @@ class Column(SchemaItem, expression.ColumnClause): if self.primary_key: selectable.primary_key.add(c) for fn in c._table_events: - fn(selectable) + fn(selectable, c) del c._table_events return c @@ -1032,7 +1032,7 @@ class ForeignKey(SchemaItem): self.parent.foreign_keys.add(self) self.parent._on_table_attach(self._set_table) - def _set_table(self, table): + def _set_table(self, table, column): if self.constraint is None and isinstance(table, Table): self.constraint = ForeignKeyConstraint( [], [], use_alter=self.use_alter, name=self.name, @@ -1181,11 +1181,9 @@ class Sequence(DefaultGenerator): def _set_parent(self, column): super(Sequence, self)._set_parent(column) -# column.sequence = self - column._on_table_attach(self._set_table) - def _set_table(self, table): + def _set_table(self, table, column): self.metadata = table.metadata @property |