Skip to content

Commit

Permalink
Add relationship for end_transaction
Browse files Browse the repository at this point in the history
We had a relationship for UserVersion.transaction
But no equivalent relationship for UserVersion.end_transaction

This commit adds that and makes it consistent.
end_transaction is only present for validity strategy - so, add that
only in validity cases
  • Loading branch information
AbdealiLoKo committed Sep 14, 2022
1 parent 12c2980 commit 0a1461e
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions sqlalchemy_continuum/model_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,19 @@ def build_transaction_relationship(self, tx_class):
foreign_keys=[transaction_column],
)

if self.manager.option(self.model, 'strategy') == 'validity':
end_transaction_column = getattr(
self.version_class,
tx_column_name(self.model)
)

if not hasattr(self.version_class, 'end_transaction'):
self.version_class.end_transaction = sa.orm.relationship(
tx_class,
primaryjoin=tx_class.id == end_transaction_column,
foreign_keys=[end_transaction_column],
)

def base_classes(self):
"""
Returns all base classes for history model.
Expand Down

0 comments on commit 0a1461e

Please sign in to comment.