mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-05 01:44:36 -04:00
Migrate reactions when migrating repository from github (#9599)
* Migrate reactions when migrating repository from github * fix missed sleep * fix tests * update reactions when external user binding * Fix test * fix tests * change the copy head * fix test * fix migrator add/delete reaction
This commit is contained in:
parent
4e566df1c6
commit
2b3e931cde
18 changed files with 329 additions and 101 deletions
|
@ -218,8 +218,11 @@ func (issue *Issue) loadReactions(e Engine) (err error) {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err = issue.loadRepo(e); err != nil {
|
||||
return err
|
||||
}
|
||||
// Load reaction user data
|
||||
if _, err := ReactionList(reactions).loadUsers(e); err != nil {
|
||||
if _, err := ReactionList(reactions).loadUsers(e, issue.Repo); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -1836,3 +1839,17 @@ func UpdateIssuesMigrationsByType(gitServiceType structs.GitServiceType, origina
|
|||
})
|
||||
return err
|
||||
}
|
||||
|
||||
// UpdateReactionsMigrationsByType updates all migrated repositories' reactions from gitServiceType to replace originalAuthorID to posterID
|
||||
func UpdateReactionsMigrationsByType(gitServiceType structs.GitServiceType, originalAuthorID string, userID int64) error {
|
||||
_, err := x.Table("reaction").
|
||||
Join("INNER", "issue", "issue.id = reaction.issue_id").
|
||||
Where("issue.repo_id IN (SELECT id FROM repository WHERE original_service_type = ?)", gitServiceType).
|
||||
And("reaction.original_author_id = ?", originalAuthorID).
|
||||
Update(map[string]interface{}{
|
||||
"user_id": userID,
|
||||
"original_author": "",
|
||||
"original_author_id": 0,
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue