diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2020-12-27 07:28:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-26 23:28:47 +0000 |
commit | cf9d4716310638ca047e93e476886b4e4ae0ce39 (patch) | |
tree | 844bef20295af9f8d21e889243044cea6bd8efb8 | |
parent | 236e70f1359ae46818c3916f21401ef4bacf3eaf (diff) | |
download | gitea-cf9d4716310638ca047e93e476886b4e4ae0ce39.tar.gz gitea-cf9d4716310638ca047e93e476886b4e4ae0ce39.zip |
Change topic name size from 25 to 50 (#14150)
* Change topic name size from 25 to 50
* recreateTable requires full bean definition
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: zeripath <art27@cantab.net>
-rw-r--r-- | models/migrations/migrations.go | 2 | ||||
-rw-r--r-- | models/migrations/v163.go | 34 | ||||
-rw-r--r-- | models/topic.go | 2 |
3 files changed, 37 insertions, 1 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index cac36edf50..6570460425 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -269,6 +269,8 @@ var migrations = []Migration{ NewMigration("Convert task type from int to string", convertTaskTypeToString), // v162 -> v163 NewMigration("Convert webhook task type from int to string", convertWebhookTaskTypeToString), + // v163 -> v164 + NewMigration("Convert topic name from 25 to 50", convertTopicNameFrom25To50), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v163.go b/models/migrations/v163.go new file mode 100644 index 0000000000..150cc34f02 --- /dev/null +++ b/models/migrations/v163.go @@ -0,0 +1,34 @@ +// Copyright 2020 The Gitea 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 ( + "xorm.io/xorm" +) + +func convertTopicNameFrom25To50(x *xorm.Engine) error { + type Topic struct { + ID int64 `xorm:"pk autoincr"` + Name string `xorm:"UNIQUE VARCHAR(50)"` + RepoCount int + CreatedUnix int64 `xorm:"INDEX created"` + UpdatedUnix int64 `xorm:"INDEX updated"` + } + + if err := x.Sync2(new(Topic)); err != nil { + return err + } + + sess := x.NewSession() + defer sess.Close() + if err := sess.Begin(); err != nil { + return err + } + if err := recreateTable(sess, new(Topic)); err != nil { + return err + } + + return sess.Commit() +} diff --git a/models/topic.go b/models/topic.go index 6be4f10295..1969c57db8 100644 --- a/models/topic.go +++ b/models/topic.go @@ -26,7 +26,7 @@ var topicPattern = regexp.MustCompile(`^[a-z0-9][a-z0-9-]*$`) // Topic represents a topic of repositories type Topic struct { ID int64 `xorm:"pk autoincr"` - Name string `xorm:"UNIQUE VARCHAR(25)"` + Name string `xorm:"UNIQUE VARCHAR(50)"` RepoCount int CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` |