mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 21:16:26 +01:00 
			
		
		
		
	Update issue_index to finish migration (#16685)
* update issue_index to finish migration * One Func to RecalculateIssueIndexForRepo
This commit is contained in:
		
							parent
							
								
									6bf5afe5de
								
							
						
					
					
						commit
						3a6edd3685
					
				@ -982,6 +982,31 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) {
 | 
			
		||||
	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.
 | 
			
		||||
func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) (err error) {
 | 
			
		||||
	idx, err := GetNextResourceIndex("issue_index", repo.ID)
 | 
			
		||||
 | 
			
		||||
@ -871,6 +871,11 @@ func (g *GiteaLocalUploader) Finish() error {
 | 
			
		||||
		return ErrRepoNotCreated
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// update issue_index
 | 
			
		||||
	if err := models.RecalculateIssueIndexForRepo(g.repo.ID); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g.repo.Status = models.RepositoryReady
 | 
			
		||||
	return models.UpdateRepositoryCols(g.repo, "status")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user