diff --git a/models/migrations/v16.go b/models/migrations/v16.go index 47292c41e2..12cad46d09 100644 --- a/models/migrations/v16.go +++ b/models/migrations/v16.go @@ -59,6 +59,12 @@ func addUnitsToTables(x *xorm.Engine) error { } var repoUnit RepoUnit + if exist, err := sess.IsTableExist(&repoUnit); err != nil { + return fmt.Errorf("IsExist RepoUnit: %v", err) + } else if exist { + return nil + } + if err := sess.CreateTable(&repoUnit); err != nil { return fmt.Errorf("CreateTable RepoUnit: %v", err) } diff --git a/models/migrations/v19.go b/models/migrations/v19.go index 6e0dbedaa3..0edeb3e92e 100644 --- a/models/migrations/v19.go +++ b/models/migrations/v19.go @@ -60,8 +60,14 @@ func generateAndMigrateGitHooks(x *xorm.Engine) (err error) { oldHookPath := filepath.Join(hookDir, hookName) newHookPath := filepath.Join(hookDir, hookName+".d", "gitea") - if err = os.MkdirAll(filepath.Join(hookDir, hookName+".d"), os.ModePerm); err != nil { - return fmt.Errorf("create hooks dir '%s': %v", filepath.Join(hookDir, hookName+".d"), err) + customHooksDir := filepath.Join(hookDir, hookName+".d") + // if it's exist, that means you have upgraded ever + if com.IsExist(customHooksDir) { + continue + } + + if err = os.MkdirAll(customHooksDir, os.ModePerm); err != nil { + return fmt.Errorf("create hooks dir '%s': %v", customHooksDir, err) } // WARNING: Old server-side hooks will be moved to sub directory with the same name diff --git a/models/migrations/v20.go b/models/migrations/v20.go index 45d7e49ca8..982914a06e 100644 --- a/models/migrations/v20.go +++ b/models/migrations/v20.go @@ -13,6 +13,7 @@ import ( "path/filepath" "strconv" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "github.com/go-xorm/xorm" @@ -40,7 +41,8 @@ func useNewNameAvatars(x *xorm.Engine) error { for _, name := range names { userID, err := strconv.ParseInt(name, 10, 64) if err != nil { - return err + log.Warn("ignore avatar %s rename: %v", name, err) + continue } var user User