Skip to content

Commit 74cde12

Browse files
authoredMar 10, 2017
Fix upgrade failed after ever rollback (#1194)
* fix upgrade failed after rollback * fix upgrade failed after rollback * fix possible upgrade twice fail after rollback
1 parent f5476bd commit 74cde12

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed
 

‎models/migrations/v16.go

+6
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

+8-2
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

+3-1
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)
Please sign in to comment.