code.gitea.io/gitea@v1.21.7/models/migrations/v1_15/v187.go (about)

     1  // Copyright 2021 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_15 //nolint
     5  
     6  import (
     7  	"code.gitea.io/gitea/models/migrations/base"
     8  
     9  	"xorm.io/xorm"
    10  )
    11  
    12  func DropWebhookColumns(x *xorm.Engine) error {
    13  	// Make sure the columns exist before dropping them
    14  	type Webhook struct {
    15  		Signature string `xorm:"TEXT"`
    16  		IsSSL     bool   `xorm:"is_ssl"`
    17  	}
    18  	if err := x.Sync(new(Webhook)); err != nil {
    19  		return err
    20  	}
    21  
    22  	type HookTask struct {
    23  		Typ         string `xorm:"VARCHAR(16) index"`
    24  		URL         string `xorm:"TEXT"`
    25  		Signature   string `xorm:"TEXT"`
    26  		HTTPMethod  string `xorm:"http_method"`
    27  		ContentType int
    28  		IsSSL       bool
    29  	}
    30  	if err := x.Sync(new(HookTask)); err != nil {
    31  		return err
    32  	}
    33  
    34  	sess := x.NewSession()
    35  	defer sess.Close()
    36  	if err := sess.Begin(); err != nil {
    37  		return err
    38  	}
    39  	if err := base.DropTableColumns(sess, "webhook", "signature", "is_ssl"); err != nil {
    40  		return err
    41  	}
    42  	if err := base.DropTableColumns(sess, "hook_task", "typ", "url", "signature", "http_method", "content_type", "is_ssl"); err != nil {
    43  		return err
    44  	}
    45  
    46  	return sess.Commit()
    47  }