Skip to content

Commit 07bcccf

Browse files
authored
Fix v85.go: Set UNIQUE constraint later (#6851)
Signed-off-by: Andrew Thornton <[email protected]>
1 parent d27bf72 commit 07bcccf

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

models/migrations/v85.go

+21-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func hashAppToken(x *xorm.Engine) error {
2424
Name string
2525
Sha1 string
2626
Token string `xorm:"-"`
27-
TokenHash string `xorm:"UNIQUE"` // sha256 of token
27+
TokenHash string // sha256 of token - we will ensure UNIQUE later
2828
TokenSalt string
2929
TokenLastEight string `xorm:"token_last_eight"`
3030

@@ -74,7 +74,7 @@ func hashAppToken(x *xorm.Engine) error {
7474
return err
7575
}
7676

77-
if err := x.Sync2(new(AccessToken)); err != nil {
77+
if err := sess.Sync2(new(AccessToken)); err != nil {
7878
return fmt.Errorf("Sync2: %v", err)
7979
}
8080

@@ -130,6 +130,24 @@ func hashAppToken(x *xorm.Engine) error {
130130
if err := dropTableColumns(sess, "access_token", "sha1"); err != nil {
131131
return err
132132
}
133-
return sess.Commit()
133+
if err := sess.Commit(); err != nil {
134+
return err
135+
}
136+
return resyncHashAppTokenWithUniqueHash(x)
137+
}
134138

139+
func resyncHashAppTokenWithUniqueHash(x *xorm.Engine) error {
140+
// AccessToken see models/token.go
141+
type AccessToken struct {
142+
TokenHash string `xorm:"UNIQUE"` // sha256 of token - we will ensure UNIQUE later
143+
}
144+
sess := x.NewSession()
145+
defer sess.Close()
146+
if err := sess.Begin(); err != nil {
147+
return err
148+
}
149+
if err := sess.Sync2(new(AccessToken)); err != nil {
150+
return fmt.Errorf("Sync2: %v", err)
151+
}
152+
return sess.Commit()
135153
}

0 commit comments

Comments
 (0)