From ebac051e7207181ac3d7bbe288536bf2224c9c0e Mon Sep 17 00:00:00 2001 From: David Schneiderbauer Date: Sun, 8 Oct 2017 13:08:18 +0200 Subject: Rewrite migrations to not depend on future code changes (#2604) * v38 migration used an outdated version of RepoUnit model (#2602) * change repoUnit model in migration * fix v16 migration repo_unit table * fix lint error * move type definition inside function Signed-off-by: David Schneiderbauer * fix lint error Signed-off-by: David Schneiderbauer * Fix time tracking migration * Refactor code * Fix migration from Gogs * v38 migration used an outdated version of RepoUnit model (#2602) * change repoUnit model in migration * fix v16 migration repo_unit table * fix lint error * move type definition inside function Signed-off-by: David Schneiderbauer * fix lint error Signed-off-by: David Schneiderbauer * Fix time tracking migration * Refactor code * Fix migration from Gogs * add error check Signed-off-by: David Schneiderbauer * Additiomal fixes for migrations * Fix timetracking migration * Add back nil check --- models/migrations/v37.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'models/migrations/v37.go') diff --git a/models/migrations/v37.go b/models/migrations/v37.go index aac00e84cb..00653a780d 100644 --- a/models/migrations/v37.go +++ b/models/migrations/v37.go @@ -7,16 +7,19 @@ package migrations import ( "html" - "code.gitea.io/gitea/models" - "github.com/go-xorm/xorm" ) func unescapeUserFullNames(x *xorm.Engine) (err error) { + type User struct { + ID int64 `xorm:"pk autoincr"` + FullName string + } + const batchSize = 100 for start := 0; ; start += batchSize { - users := make([]*models.User, 0, batchSize) - if err := x.Limit(start, batchSize).Find(users); err != nil { + users := make([]*User, 0, batchSize) + if err := x.Limit(batchSize, start).Find(&users); err != nil { return err } if len(users) == 0 { @@ -24,7 +27,7 @@ func unescapeUserFullNames(x *xorm.Engine) (err error) { } for _, user := range users { user.FullName = html.UnescapeString(user.FullName) - if _, err := x.Cols("full_name").Update(user); err != nil { + if _, err := x.ID(user.ID).Cols("full_name").Update(user); err != nil { return err } } -- cgit v1.2.3