Skip to content

Commit 01ab436

Browse files
committed
Fixed mrs.
1 parent dca4d6b commit 01ab436

File tree

2 files changed

+46
-21
lines changed

2 files changed

+46
-21
lines changed

gitlab_api/gitlab_db_models.py

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,27 @@ def __ne__(self, other):
933933
)
934934

935935

936+
# Association table for MergeRequest assignees
937+
merge_request_assignees = Table(
938+
"merge_request_assignees",
939+
BaseDBModel.metadata,
940+
Column(
941+
"merge_request_id", Integer, ForeignKey("merge_requests.id"), primary_key=True
942+
),
943+
Column("user_id", Integer, ForeignKey("users.id"), primary_key=True),
944+
)
945+
946+
# Association table for MergeRequest reviewers
947+
merge_request_reviewers = Table(
948+
"merge_request_reviewers",
949+
BaseDBModel.metadata,
950+
Column(
951+
"merge_request_id", Integer, ForeignKey("merge_requests.id"), primary_key=True
952+
),
953+
Column("user_id", Integer, ForeignKey("users.id"), primary_key=True),
954+
)
955+
956+
936957
# MergeRequest Model
937958
class MergeRequestDBModel(BaseDBModel):
938959
__tablename__ = "merge_requests"
@@ -1101,10 +1122,17 @@ def __ne__(self, other):
11011122
back_populates="assigned_merge_requests",
11021123
)
11031124

1104-
assignees_id: Mapped[int] = mapped_column(
1105-
Integer, ForeignKey(column="users.id"), nullable=True
1125+
assignees: Mapped[list["UserDBModel"]] = relationship(
1126+
"UserDBModel",
1127+
secondary=merge_request_assignees, # Use the association table
1128+
back_populates="assignee_merge_requests",
1129+
)
1130+
1131+
reviewers: Mapped[list["UserDBModel"]] = relationship(
1132+
"UserDBModel",
1133+
secondary=merge_request_reviewers, # Use the association table
1134+
back_populates="reviewers_merge_requests",
11061135
)
1107-
assignees: Mapped[list["UserDBModel"]] = relationship(back_populates="assignee_merge_requests")
11081136

11091137
merged_by: Mapped["UserDBModel"] = relationship(
11101138
"UserDBModel",
@@ -1136,11 +1164,6 @@ def __ne__(self, other):
11361164
back_populates="closed_merge_requests",
11371165
)
11381166

1139-
reviewers_id: Mapped[int] = mapped_column(
1140-
Integer, ForeignKey(column="users.id"), nullable=True
1141-
)
1142-
reviewers: Mapped[list["UserDBModel"]] = relationship(back_populates="reviewers_merge_requests")
1143-
11441167

11451168
# GroupAccess Model
11461169
class GroupAccessDBModel(BaseDBModel):
@@ -1555,9 +1578,22 @@ def __ne__(self, other):
15551578

15561579
assignee_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
15571580
"MergeRequestDBModel",
1581+
secondary=merge_request_assignees, # Use the association table
15581582
back_populates="assignees",
1559-
primaryjoin="foreign(MergeRequestDBModel.assignees_id) == UserDBModel.id",
15601583
)
1584+
1585+
reviewed_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
1586+
"MergeRequestDBModel",
1587+
back_populates="reviewer",
1588+
primaryjoin="foreign(MergeRequestDBModel.reviewer_id) == UserDBModel.id",
1589+
)
1590+
1591+
reviewers_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
1592+
"MergeRequestDBModel",
1593+
secondary=merge_request_reviewers, # Use the association table
1594+
back_populates="reviewers",
1595+
)
1596+
15611597
merged_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
15621598
"MergeRequestDBModel",
15631599
back_populates="merged_by",
@@ -1570,12 +1606,6 @@ def __ne__(self, other):
15701606
primaryjoin="foreign(MergeRequestDBModel.merge_user_id) == UserDBModel.id",
15711607
)
15721608

1573-
reviewed_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
1574-
"MergeRequestDBModel",
1575-
back_populates="reviewer",
1576-
primaryjoin="foreign(MergeRequestDBModel.reviewer_id) == UserDBModel.id",
1577-
)
1578-
15791609
approved_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
15801610
"MergeRequestDBModel",
15811611
back_populates="approved_by",
@@ -1588,11 +1618,6 @@ def __ne__(self, other):
15881618
primaryjoin="foreign(MergeRequestDBModel.closed_by_id) == UserDBModel.id",
15891619
)
15901620

1591-
reviewers_merge_requests: Mapped[list["MergeRequestDBModel"]] = relationship(
1592-
"MergeRequestDBModel",
1593-
back_populates="reviewers",
1594-
primaryjoin="foreign(MergeRequestDBModel.reviewers_id) == UserDBModel.id",
1595-
)
15961621
project_owner: Mapped[list["ProjectDBModel"]] = relationship(
15971622
"ProjectDBModel",
15981623
back_populates="owner",

gitlab_api/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def bulk_upsert(model, engine, batch_size=10000):
190190
base_stmt = insert(table).values(data)
191191
stmt = base_stmt.on_conflict_do_update(
192192
index_elements=["id"],
193-
set_={col.name: col for col in base_stmt.excluded if col.name != "id"}
193+
set_={col.name: col for col in base_stmt.excluded if col.name != "id"},
194194
)
195195
conn.execute(stmt)
196196
conn.commit()

0 commit comments

Comments
 (0)