_constructor to return Column, for the purposes of
making "configurational" column classes that aren't
involved in proxying, etc.
+
+ - Column.copy() takes along the "unique" attribute
+ among others, fixes [ticket:1829] regarding declarative
+ mixins
- firebird
- Fixed incorrect signature in do_execute(), error
def test_uninitialized_column_copy(self):
for col in [
Column('foo', String(), nullable=False),
+ Column('baz', String(), unique=True),
Column(Integer(), primary_key=True),
Column('bar', Integer(), Sequence('foo_seq'), primary_key=True, key='bar'),
Column(Integer(), ForeignKey('bat.blah')),
Column('bar', Integer(), ForeignKey('bat.blah'), primary_key=True, key='bar'),
]:
c2 = col.copy()
- for attr in ('name', 'type', 'nullable', 'primary_key', 'key'):
+ for attr in ('name', 'type', 'nullable', 'primary_key', 'key', 'unique'):
eq_(getattr(col, attr), getattr(c2, attr))
eq_(len(col.foreign_keys), len(c2.foreign_keys))
if col.default:
eq_(obj.id,1)
eq_(obj.name,'testing')
eq_(obj.foo(),'bar1')
+
+ def test_unique_column(self):
+
+ class MyMixin(object):
+ id = Column(Integer, primary_key=True)
+ value = Column(String, unique=True)
+
+ class MyModel(Base, MyMixin):
+ __tablename__ = 'test'
+
+ assert MyModel.__table__.c.value.unique
def test_hierarchical_bases(self):