diff options
author | David Schneiderbauer <daviian@users.noreply.github.com> | 2017-10-08 13:08:18 +0200 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-10-08 19:08:18 +0800 |
commit | ebac051e7207181ac3d7bbe288536bf2224c9c0e (patch) | |
tree | 3622243563c05a11f7656fea8b3d31f726195fb5 /models/migrations/v37.go | |
parent | 92123fe82a2dc4c01fdc180baaa7d2bfa2fe971a (diff) | |
download | gitea-ebac051e7207181ac3d7bbe288536bf2224c9c0e.tar.gz gitea-ebac051e7207181ac3d7bbe288536bf2224c9c0e.zip |
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 <dschneiderbauer@gmail.com>
* fix lint error
Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>
* 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 <dschneiderbauer@gmail.com>
* fix lint error
Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>
* Fix time tracking migration
* Refactor code
* Fix migration from Gogs
* add error check
Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>
* Additiomal fixes for migrations
* Fix timetracking migration
* Add back nil check
Diffstat (limited to 'models/migrations/v37.go')
-rw-r--r-- | models/migrations/v37.go | 13 |
1 files changed, 8 insertions, 5 deletions
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 } } |