code.gitea.io/gitea@v1.21.7/models/migrations/v1_14/v163.go (about)

     1  // Copyright 2020 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_14 //nolint
     5  
     6  import (
     7  	"code.gitea.io/gitea/models/migrations/base"
     8  
     9  	"xorm.io/xorm"
    10  )
    11  
    12  func ConvertTopicNameFrom25To50(x *xorm.Engine) error {
    13  	type Topic struct {
    14  		ID          int64  `xorm:"pk autoincr"`
    15  		Name        string `xorm:"UNIQUE VARCHAR(50)"`
    16  		RepoCount   int
    17  		CreatedUnix int64 `xorm:"INDEX created"`
    18  		UpdatedUnix int64 `xorm:"INDEX updated"`
    19  	}
    20  
    21  	if err := x.Sync(new(Topic)); err != nil {
    22  		return err
    23  	}
    24  
    25  	sess := x.NewSession()
    26  	defer sess.Close()
    27  	if err := sess.Begin(); err != nil {
    28  		return err
    29  	}
    30  	if err := base.RecreateTable(sess, new(Topic)); err != nil {
    31  		return err
    32  	}
    33  
    34  	return sess.Commit()
    35  }