code.gitea.io/gitea@v1.21.7/models/migrations/v1_8/v78.go (about)

     1  // Copyright 2019 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_8 //nolint
     5  
     6  import (
     7  	"code.gitea.io/gitea/models/migrations/base"
     8  
     9  	"xorm.io/xorm"
    10  )
    11  
    12  func RenameRepoIsBareToIsEmpty(x *xorm.Engine) error {
    13  	type Repository struct {
    14  		ID      int64 `xorm:"pk autoincr"`
    15  		IsBare  bool
    16  		IsEmpty bool `xorm:"INDEX"`
    17  	}
    18  
    19  	sess := x.NewSession()
    20  	defer sess.Close()
    21  	if err := sess.Begin(); err != nil {
    22  		return err
    23  	}
    24  
    25  	if err := sess.Sync(new(Repository)); err != nil {
    26  		return err
    27  	}
    28  	if _, err := sess.Exec("UPDATE repository SET is_empty = is_bare;"); err != nil {
    29  		return err
    30  	}
    31  	if err := sess.Commit(); err != nil {
    32  		return err
    33  	}
    34  
    35  	if err := sess.Begin(); err != nil {
    36  		return err
    37  	}
    38  	if err := base.DropTableColumns(sess, "repository", "is_bare"); err != nil {
    39  		return err
    40  	}
    41  
    42  	return sess.Commit()
    43  }