diff options
Diffstat (limited to 'models/migrations')
-rw-r--r-- | models/migrations/migrations.go | 8 | ||||
-rw-r--r-- | models/migrations/v13.go | 10 | ||||
-rw-r--r-- | models/migrations/v15.go | 2 | ||||
-rw-r--r-- | models/migrations/v16.go | 4 | ||||
-rw-r--r-- | models/migrations/v18.go | 34 |
5 files changed, 47 insertions, 11 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 5192419b..44496a15 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -13,7 +13,7 @@ import ( "github.com/go-xorm/xorm" log "gopkg.in/clog.v1" - "github.com/gogits/gogs/pkg/tool" + "github.com/gogs/gogs/pkg/tool" ) const _MIN_DB_VER = 10 @@ -64,6 +64,8 @@ var migrations = []Migration{ NewMigration("update repository sizes", updateRepositorySizes), // v16 -> v17:v0.10.31 NewMigration("remove invalid protect branch whitelist", removeInvalidProtectBranchWhitelist), + // v17 -> v18:v0.11.48 + NewMigration("store long text in repository description field", updateRepositoryDescriptionField), // v18 -> v19:v0.11.55 NewMigration("clean unlinked webhook and hook_tasks", cleanUnlinkedWebhookAndHookTasks), } @@ -100,9 +102,9 @@ You can migrate your older database using a previous release, then you can upgra Please save following instructions to somewhere and start working: - If you were using below 0.6.0 (e.g. 0.5.x), download last supported archive from following link: - https://github.com/gogits/gogs/releases/tag/v0.7.33 + https://github.com/gogs/gogs/releases/tag/v0.7.33 - If you were using below 0.7.0 (e.g. 0.6.x), download last supported archive from following link: - https://github.com/gogits/gogs/releases/tag/v0.9.141 + https://github.com/gogs/gogs/releases/tag/v0.9.141 Once finished downloading, diff --git a/models/migrations/v13.go b/models/migrations/v13.go index f81271f9..3f7e81df 100644 --- a/models/migrations/v13.go +++ b/models/migrations/v13.go @@ -5,12 +5,12 @@ package migrations import ( - "encoding/json" "fmt" "strings" "github.com/Unknwon/com" "github.com/go-xorm/xorm" + "github.com/json-iterator/go" ) func ldapUseSSLToSecurityProtocol(x *xorm.Engine) error { @@ -30,17 +30,17 @@ func ldapUseSSLToSecurityProtocol(x *xorm.Engine) error { for _, result := range results { cfg := map[string]interface{}{} - if err = json.Unmarshal(result["cfg"], &cfg); err != nil { - return fmt.Errorf("decode JSON config: %v", err) + if err = jsoniter.Unmarshal(result["cfg"], &cfg); err != nil { + return fmt.Errorf("unmarshal JSON config: %v", err) } if com.ToStr(cfg["UseSSL"]) == "true" { cfg["SecurityProtocol"] = 1 // LDAPS } delete(cfg, "UseSSL") - data, err := json.Marshal(&cfg) + data, err := jsoniter.Marshal(&cfg) if err != nil { - return fmt.Errorf("encode JSON config: %v", err) + return fmt.Errorf("marshal JSON config: %v", err) } if _, err = sess.Exec("UPDATE `login_source` SET `cfg`=? WHERE `id`=?", diff --git a/models/migrations/v15.go b/models/migrations/v15.go index ebee4964..d6cccb1d 100644 --- a/models/migrations/v15.go +++ b/models/migrations/v15.go @@ -15,7 +15,7 @@ import ( "github.com/go-xorm/xorm" log "gopkg.in/clog.v1" - "github.com/gogits/gogs/pkg/setting" + "github.com/gogs/gogs/pkg/setting" ) func generateAndMigrateGitHooks(x *xorm.Engine) (err error) { diff --git a/models/migrations/v16.go b/models/migrations/v16.go index c5facc81..e95fe10a 100644 --- a/models/migrations/v16.go +++ b/models/migrations/v16.go @@ -12,9 +12,9 @@ import ( "github.com/go-xorm/xorm" log "gopkg.in/clog.v1" - "github.com/gogits/git-module" + "github.com/gogs/git-module" - "github.com/gogits/gogs/pkg/setting" + "github.com/gogs/gogs/pkg/setting" ) func updateRepositorySizes(x *xorm.Engine) (err error) { diff --git a/models/migrations/v18.go b/models/migrations/v18.go new file mode 100644 index 00000000..086cd27a --- /dev/null +++ b/models/migrations/v18.go @@ -0,0 +1,34 @@ +// Copyright 2018 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import ( + "fmt" + + "github.com/go-xorm/xorm" + + "github.com/gogs/gogs/pkg/setting" +) + +func updateRepositoryDescriptionField(x *xorm.Engine) error { + exist, err := x.IsTableExist("repository") + if err != nil { + return fmt.Errorf("IsTableExist: %v", err) + } else if !exist { + return nil + } + switch { + case setting.UseMySQL: + _, err = x.Exec("ALTER TABLE `repository` MODIFY `description` VARCHAR(512);") + case setting.UseMSSQL: + _, err = x.Exec("ALTER TABLE `repository` ALTER COLUMN `description` VARCHAR(512);") + case setting.UsePostgreSQL: + _, err = x.Exec("ALTER TABLE `repository` ALTER COLUMN `description` TYPE VARCHAR(512);") + case setting.UseSQLite3: + // Sqlite3 uses TEXT type by default for any string type field. + // Keep this comment to mention that we don't missed any option. + } + return err +} |