github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/migration/migrations/1528470872_add_global_users.down.go (about)

     1  package migrations
     2  
     3  import (
     4  	"errors"
     5  )
     6  
     7  func (self *migrations) Down_1528470872() error {
     8  	var count int
     9  	err := self.DB.QueryRow("SELECT count(*) FROM teams WHERE legacy_auth IS NULL AND name != 'main'").Scan(&count)
    10  	if err != nil {
    11  		return err
    12  	}
    13  
    14  	if count > 0 {
    15  		return errors.New("Changes have been made to the teams table since the 'global users' upgrade. There is no turning back.")
    16  	}
    17  
    18  	tx, err := self.DB.Begin()
    19  	if err != nil {
    20  		return err
    21  	}
    22  
    23  	_, err = tx.Exec("ALTER TABLE teams DROP COLUMN auth")
    24  	if err != nil {
    25  		tx.Rollback()
    26  		return err
    27  	}
    28  
    29  	_, err = tx.Exec("ALTER TABLE teams RENAME COLUMN legacy_auth TO auth")
    30  	if err != nil {
    31  		tx.Rollback()
    32  		return err
    33  	}
    34  
    35  	err = tx.Commit()
    36  	if err != nil {
    37  		tx.Rollback()
    38  		return err
    39  	}
    40  
    41  	return nil
    42  }