diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-08-24 13:30:51 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-08-24 13:30:51 -0400 |
| commit | 7ab906e258eec23841c7f0c67266ebb337382277 (patch) | |
| tree | 1cca2bdea15893d08758032f1ad26ddcc1e6af86 /examples | |
| parent | fb15c61cc0a6ce128e6ef96d0977eaeb7d8437af (diff) | |
| parent | 49827cffd3c2d9b5e0229760b0d8e0966a58a369 (diff) | |
| download | sqlalchemy-7ab906e258eec23841c7f0c67266ebb337382277.tar.gz | |
merge from tip
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/versioning/history_meta.py | 4 | ||||
| -rw-r--r-- | examples/versioning/test_versioning.py | 23 |
2 files changed, 25 insertions, 2 deletions
diff --git a/examples/versioning/history_meta.py b/examples/versioning/history_meta.py index a7b03c5bf..c2b283f1a 100644 --- a/examples/versioning/history_meta.py +++ b/examples/versioning/history_meta.py @@ -31,6 +31,7 @@ def _history_mapper(local_mapper): continue col = column.copy() + col.unique = False if super_mapper and col_references_table(column, super_mapper.local_table): super_fks.append((col.key, list(super_history_mapper.base_mapper.local_table.primary_key)[0])) @@ -160,5 +161,4 @@ class VersionedListener(SessionExtension): for obj in versioned_objects(session.dirty): create_version(obj, session) for obj in versioned_objects(session.deleted): - create_version(obj, session, deleted = True) - + create_version(obj, session, deleted = True)
\ No newline at end of file diff --git a/examples/versioning/test_versioning.py b/examples/versioning/test_versioning.py index 1a72a0659..2a7a2ca66 100644 --- a/examples/versioning/test_versioning.py +++ b/examples/versioning/test_versioning.py @@ -244,5 +244,28 @@ class TestVersioning(TestBase): SubClassHistory(id=2, name=u's1', type=u'sub', version=1) ] ) + + def test_unique(self): + class SomeClass(Base, ComparableEntity): + __tablename__ = 'sometable' + + id = Column(Integer, primary_key=True) + name = Column(String(50), unique=True) + data = Column(String(50)) + + self.create_tables() + sess = Session() + sc = SomeClass(name='sc1', data='sc1') + sess.add(sc) + sess.commit() + + sc.data = 'sc1modified' + sess.commit() + + assert sc.version == 2 + + sc.data = 'sc1modified2' + sess.commit() + assert sc.version == 3 |
