Skip to content

Commit ca658ae

Browse files
lunnyRichard Mahn
authored and
Richard Mahn
committed
Fix upgrade failed after ever rollback (go-gitea#1194) (go-gitea#1197)
* fix upgrade failed after rollback * fix upgrade failed after rollback * fix possible upgrade twice fail after rollback
1 parent 0b14595 commit ca658ae

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

models/migrations/v16.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ func addUnitsToTables(x *xorm.Engine) error {
5959
}
6060

6161
var repoUnit RepoUnit
62+
if exist, err := sess.IsTableExist(&repoUnit); err != nil {
63+
return fmt.Errorf("IsExist RepoUnit: %v", err)
64+
} else if exist {
65+
return nil
66+
}
67+
6268
if err := sess.CreateTable(&repoUnit); err != nil {
6369
return fmt.Errorf("CreateTable RepoUnit: %v", err)
6470
}

models/migrations/v19.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,14 @@ func generateAndMigrateGitHooks(x *xorm.Engine) (err error) {
6060
oldHookPath := filepath.Join(hookDir, hookName)
6161
newHookPath := filepath.Join(hookDir, hookName+".d", "gitea")
6262

63-
if err = os.MkdirAll(filepath.Join(hookDir, hookName+".d"), os.ModePerm); err != nil {
64-
return fmt.Errorf("create hooks dir '%s': %v", filepath.Join(hookDir, hookName+".d"), err)
63+
customHooksDir := filepath.Join(hookDir, hookName+".d")
64+
// if it's exist, that means you have upgraded ever
65+
if com.IsExist(customHooksDir) {
66+
continue
67+
}
68+
69+
if err = os.MkdirAll(customHooksDir, os.ModePerm); err != nil {
70+
return fmt.Errorf("create hooks dir '%s': %v", customHooksDir, err)
6571
}
6672

6773
// WARNING: Old server-side hooks will be moved to sub directory with the same name

models/migrations/v20.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"path/filepath"
1414
"strconv"
1515

16+
"code.gitea.io/gitea/modules/log"
1617
"code.gitea.io/gitea/modules/setting"
1718

1819
"github.com/go-xorm/xorm"
@@ -40,7 +41,8 @@ func useNewNameAvatars(x *xorm.Engine) error {
4041
for _, name := range names {
4142
userID, err := strconv.ParseInt(name, 10, 64)
4243
if err != nil {
43-
return err
44+
log.Warn("ignore avatar %s rename: %v", name, err)
45+
continue
4446
}
4547

4648
var user User

0 commit comments

Comments
 (0)