mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Update issue_index to finish migration (#16685)
* update issue_index to finish migration * One Func to RecalculateIssueIndexForRepo
This commit is contained in:
		| @@ -982,6 +982,31 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) { | |||||||
| 	return opts.Issue.addCrossReferences(e, doer, false) | 	return opts.Issue.addCrossReferences(e, doer, false) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // RecalculateIssueIndexForRepo create issue_index for repo if not exist and | ||||||
|  | // update it based on highest index of existing issues assigned to a repo | ||||||
|  | func RecalculateIssueIndexForRepo(repoID int64) error { | ||||||
|  | 	sess := x.NewSession() | ||||||
|  | 	defer sess.Close() | ||||||
|  | 	if err := sess.Begin(); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	if err := upsertResourceIndex(sess, "issue_index", repoID); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	var max int64 | ||||||
|  | 	if _, err := sess.Select(" MAX(`index`)").Table("issue").Where("repo_id=?", repoID).Get(&max); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	if _, err := sess.Exec("UPDATE `issue_index` SET max_index=? WHERE group_id=?", max, repoID); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return sess.Commit() | ||||||
|  | } | ||||||
|  |  | ||||||
| // NewIssue creates new issue with labels for repository. | // NewIssue creates new issue with labels for repository. | ||||||
| func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) (err error) { | func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) (err error) { | ||||||
| 	idx, err := GetNextResourceIndex("issue_index", repo.ID) | 	idx, err := GetNextResourceIndex("issue_index", repo.ID) | ||||||
|   | |||||||
| @@ -871,6 +871,11 @@ func (g *GiteaLocalUploader) Finish() error { | |||||||
| 		return ErrRepoNotCreated | 		return ErrRepoNotCreated | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	// update issue_index | ||||||
|  | 	if err := models.RecalculateIssueIndexForRepo(g.repo.ID); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	g.repo.Status = models.RepositoryReady | 	g.repo.Status = models.RepositoryReady | ||||||
| 	return models.UpdateRepositoryCols(g.repo, "status") | 	return models.UpdateRepositoryCols(g.repo, "status") | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user