ForeignKey target in column alter operations,
courtesy Alexander Kolov.
+- [bug] Fixed bug whereby create_unique_constraint()
+ would include in the constraint columns that
+ are added to all Table objects using events,
+ externally to the generation of the constraint.
+
0.3.1
=====
- [bug] bulk_insert() fixes:
t = schema.Table(source, schema.MetaData(),
*[schema.Column(n, NULLTYPE) for n in local_cols])
kw['name'] = name
- uq = schema.UniqueConstraint(*t.c, **kw)
+ uq = schema.UniqueConstraint(*[t.c[n] for n in local_cols], **kw)
# TODO: need event tests to ensure the event
# is fired off here
t.append_constraint(uq)
"ALTER TABLE t1 ADD CONSTRAINT uk_test UNIQUE (foo, bar)"
)
+def test_add_unique_constraint_auto_cols():
+ context = op_fixture()
+ from sqlalchemy import event, DateTime
+
+ @event.listens_for(Table, "after_parent_attach")
+ def _table_standard_cols(table, metadata):
+ table.append_column(Column('created_at', DateTime))
+
+ try:
+ op.create_unique_constraint('uk_test', 't1', ['foo', 'bar'])
+ context.assert_(
+ "ALTER TABLE t1 ADD CONSTRAINT uk_test UNIQUE (foo, bar)"
+ )
+ finally:
+ Table.dispatch._clear()
+
def test_drop_constraint():
context = op_fixture()
op.drop_constraint('foo_bar_bat', 't1')