code.gitea.io/gitea@v1.21.7/models/migrations/v1_14/v159.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  	"code.gitea.io/gitea/modules/timeutil"
     9  
    10  	"xorm.io/xorm"
    11  )
    12  
    13  func UpdateReactionConstraint(x *xorm.Engine) error {
    14  	// Reaction represents a reactions on issues and comments.
    15  	type Reaction struct {
    16  		ID               int64              `xorm:"pk autoincr"`
    17  		Type             string             `xorm:"INDEX UNIQUE(s) NOT NULL"`
    18  		IssueID          int64              `xorm:"INDEX UNIQUE(s) NOT NULL"`
    19  		CommentID        int64              `xorm:"INDEX UNIQUE(s)"`
    20  		UserID           int64              `xorm:"INDEX UNIQUE(s) NOT NULL"`
    21  		OriginalAuthorID int64              `xorm:"INDEX UNIQUE(s) NOT NULL DEFAULT(0)"`
    22  		OriginalAuthor   string             `xorm:"INDEX UNIQUE(s)"`
    23  		CreatedUnix      timeutil.TimeStamp `xorm:"INDEX created"`
    24  	}
    25  
    26  	sess := x.NewSession()
    27  	defer sess.Close()
    28  
    29  	if err := sess.Begin(); err != nil {
    30  		return err
    31  	}
    32  
    33  	if err := base.RecreateTable(sess, &Reaction{}); err != nil {
    34  		return err
    35  	}
    36  
    37  	return sess.Commit()
    38  }