]> source.dussan.org Git - gitea.git/commitdiff
Change topic name size from 25 to 50 (#14150)
authorLunny Xiao <xiaolunwen@gmail.com>
Sat, 26 Dec 2020 23:28:47 +0000 (07:28 +0800)
committerGitHub <noreply@github.com>
Sat, 26 Dec 2020 23:28:47 +0000 (23:28 +0000)
* 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>
models/migrations/migrations.go
models/migrations/v163.go [new file with mode: 0644]
models/topic.go

index cac36edf5050ba8126aec56c746fa9d7ad3eb0fb..6570460425c385d24fe75d4573e2071ee75ff44a 100644 (file)
@@ -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 (file)
index 0000000..150cc34
--- /dev/null
@@ -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()
+}
index 6be4f10295bf45d67f00c601ca7506460ce4c88c..1969c57db8b761f4a583ee63339676e3f3ea6ae8 100644 (file)
@@ -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"`