mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Fix v85.go: Set UNIQUE constraint later (#6851)
Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		@@ -24,7 +24,7 @@ func hashAppToken(x *xorm.Engine) error {
 | 
			
		||||
		Name           string
 | 
			
		||||
		Sha1           string
 | 
			
		||||
		Token          string `xorm:"-"`
 | 
			
		||||
		TokenHash      string `xorm:"UNIQUE"` // sha256 of token
 | 
			
		||||
		TokenHash      string // sha256 of token - we will ensure UNIQUE later
 | 
			
		||||
		TokenSalt      string
 | 
			
		||||
		TokenLastEight string `xorm:"token_last_eight"`
 | 
			
		||||
 | 
			
		||||
@@ -74,7 +74,7 @@ func hashAppToken(x *xorm.Engine) error {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := x.Sync2(new(AccessToken)); err != nil {
 | 
			
		||||
	if err := sess.Sync2(new(AccessToken)); err != nil {
 | 
			
		||||
		return fmt.Errorf("Sync2: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -130,6 +130,24 @@ func hashAppToken(x *xorm.Engine) error {
 | 
			
		||||
	if err := dropTableColumns(sess, "access_token", "sha1"); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return sess.Commit()
 | 
			
		||||
 | 
			
		||||
	if err := sess.Commit(); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return resyncHashAppTokenWithUniqueHash(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func resyncHashAppTokenWithUniqueHash(x *xorm.Engine) error {
 | 
			
		||||
	// AccessToken see models/token.go
 | 
			
		||||
	type AccessToken struct {
 | 
			
		||||
		TokenHash string `xorm:"UNIQUE"` // sha256 of token - we will ensure UNIQUE later
 | 
			
		||||
	}
 | 
			
		||||
	sess := x.NewSession()
 | 
			
		||||
	defer sess.Close()
 | 
			
		||||
	if err := sess.Begin(); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err := sess.Sync2(new(AccessToken)); err != nil {
 | 
			
		||||
		return fmt.Errorf("Sync2: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	return sess.Commit()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user