summaryrefslogtreecommitdiffstats
path: root/models/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'models/migrations')
-rw-r--r--models/migrations/v85.go24
1 files changed, 21 insertions, 3 deletions
diff --git a/models/migrations/v85.go b/models/migrations/v85.go
index 28f6ac146d..1fe85ac408 100644
--- a/models/migrations/v85.go
+++ b/models/migrations/v85.go
@@ -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()
}