diff --git a/services/repository/delete.go b/services/repository/delete.go index 65dfc2a3b7..8955305cc1 100644 --- a/services/repository/delete.go +++ b/services/repository/delete.go @@ -188,17 +188,18 @@ func DeleteRepositoryDirectly(ctx context.Context, repoID int64, ignoreOrgTeams return err } - // Delete Pulls and related objects - if err := issues_model.DeletePullsByBaseRepoID(ctx, repoID); err != nil { - return err - } - // Delete Issues and related objects var attachmentPaths []string if attachmentPaths, err = issue_service.DeleteIssuesByRepoID(ctx, repoID); err != nil { return err } + // Delete Pulls and related objects + // Notice: we should delete issue first because issue may load pull request + if err := issues_model.DeletePullsByBaseRepoID(ctx, repoID); err != nil { + return err + } + // Delete issue index if err := db.DeleteResourceIndex(ctx, "issue_index", repoID); err != nil { return err