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
--- /dev/null
+// 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()
+}
// 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"`