diff options
Diffstat (limited to 'lib/sqlalchemy/schema.py')
| -rw-r--r-- | lib/sqlalchemy/schema.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 3dab1f867..72109379d 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -440,6 +440,8 @@ class Column(SchemaItem, sql.ColumnClause): else: return self.name return self.name + else: + return self.name def _derived_metadata(self): return self.table.metadata @@ -764,6 +766,10 @@ class PrimaryKeyConstraint(Constraint): def accept_schema_visitor(self, visitor): visitor.visit_primary_key_constraint(self) def append(self, col): + # TODO: change "columns" to a key-sensitive set ? + for c in self.columns: + if c.key == col.key: + self.columns.remove(c) self.columns.append(col) col.primary_key=True def copy(self): |
