code.gitea.io/gitea@v1.21.7/models/migrations/v1_16/v206.go (about)

     1  // Copyright 2022 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_16 //nolint
     5  
     6  import (
     7  	"fmt"
     8  
     9  	"xorm.io/xorm"
    10  )
    11  
    12  func AddAuthorizeColForTeamUnit(x *xorm.Engine) error {
    13  	type TeamUnit struct {
    14  		ID         int64 `xorm:"pk autoincr"`
    15  		OrgID      int64 `xorm:"INDEX"`
    16  		TeamID     int64 `xorm:"UNIQUE(s)"`
    17  		Type       int   `xorm:"UNIQUE(s)"`
    18  		AccessMode int
    19  	}
    20  
    21  	if err := x.Sync(new(TeamUnit)); err != nil {
    22  		return fmt.Errorf("sync2: %w", err)
    23  	}
    24  
    25  	// migrate old permission
    26  	_, err := x.Exec("UPDATE team_unit SET access_mode = (SELECT authorize FROM team WHERE team.id = team_unit.team_id)")
    27  	return err
    28  }