diff --git a/sqlalchemy_continuum/model_builder.py b/sqlalchemy_continuum/model_builder.py index b2f15114..a2adaccb 100644 --- a/sqlalchemy_continuum/model_builder.py +++ b/sqlalchemy_continuum/model_builder.py @@ -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, + option(self.model, 'end_transaction_column_name') + ) + + 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.