diff --git a/subunit2sql/db/models.py b/subunit2sql/db/models.py index c751588..b58925c 100644 --- a/subunit2sql/db/models.py +++ b/subunit2sql/db/models.py @@ -89,6 +89,12 @@ class TestRun(BASE, SubunitBase): start_time_microsecond = sa.Column(sa.Integer(), default=0) stop_time = sa.Column(sa.DateTime()) stop_time_microsecond = sa.Column(sa.Integer(), default=0) + test = sa.orm.relationship(Test, backref=sa.orm.backref('test_run_test'), + foreign_keys=test_id, + primaryjoin=test_id == Test.id) + run = sa.orm.relationship(Run, backref=sa.orm.backref('test_run_run'), + foreign_keys=run_id, + primaryjoin=run_id == Run.id) class RunMetadata(BASE, SubunitBase): @@ -99,6 +105,8 @@ class RunMetadata(BASE, SubunitBase): key = sa.Column(sa.String(255)) value = sa.Column(sa.String(255)) run_id = sa.Column(sa.BigInteger, sa.ForeignKey('runs.id')) + run = sa.orm.relationship(Run, backref='run', foreign_keys=run_id, + primaryjoin=run_id == Run.id) class TestRunMetadata(BASE, SubunitBase): @@ -110,6 +118,10 @@ class TestRunMetadata(BASE, SubunitBase): key = sa.Column(sa.String(255)) value = sa.Column(sa.String(255)) test_run_id = sa.Column(sa.BigInteger, sa.ForeignKey('test_runs.id')) + test_run = sa.orm.relationship(TestRun, + backref=sa.orm.backref('test_run_meta'), + foreign_keys=test_run_id, + primaryjoin=test_run_id == TestRun.id) class TestMetadata(BASE, SubunitBase): @@ -121,6 +133,8 @@ class TestMetadata(BASE, SubunitBase): key = sa.Column(sa.String(255)) value = sa.Column(sa.String(255)) test_id = sa.Column(sa.BigInteger, sa.ForeignKey('tests.id')) + test = sa.orm.relationship(Test, backref='test', foreign_keys=test_id, + primaryjoin=test_id == Test.id) class Attachments(BASE, SubunitBase): @@ -131,3 +145,6 @@ class Attachments(BASE, SubunitBase): test_run_id = sa.Column(sa.BigInteger) label = sa.Column(sa.String(255)) attachment = sa.Column(sa.LargeBinary()) + test_run = sa.orm.relationship(TestRun, backref='test_run_attach', + foreign_keys=test_run_id, + primaryjoin=test_run_id == TestRun.id)