Fix v85.go: Set UNIQUE constraint later (#6851)

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
zeripath 2019-05-05 14:47:42 +01:00 committed by GitHub
parent d27bf72530
commit 07bcccf9ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 4 deletions

View File

@ -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()
}