Browse Source

Fix migration v210 (#18892)

tags/v1.18.0-dev
Lunny Xiao 2 years ago
parent
commit
a5e8daee73
No account linked to committer's email address
1 changed files with 10 additions and 4 deletions
  1. 10
    4
      models/migrations/v210.go

+ 10
- 4
models/migrations/v210.go View File

@@ -137,17 +137,23 @@ func remigrateU2FCredentials(x *xorm.Engine) error {
CreatedUnix: reg.CreatedUnix,
}

has, err := sess.ID(reg.ID).Where("id = ?", reg.ID).Get(new(webauthnCredential))
has, err := sess.ID(reg.ID).Get(new(webauthnCredential))
if err != nil {
return fmt.Errorf("unable to get webauthn_credential[%d]. Error: %w", reg.ID, err)
}
if !has {
_, err = sess.Insert(remigrated)
has, err := sess.Where("`lower_name`=?", remigrated.LowerName).And("`user_id`=?", remigrated.UserID).Exist(new(webauthnCredential))
if err != nil {
return fmt.Errorf("unable to (re)insert webauthn_credential[%d]. Error: %w", reg.ID, err)
return fmt.Errorf("unable to check webauthn_credential[lower_name: %s, user_id:%v]. Error: %w", remigrated.LowerName, remigrated.UserID, err)
}
if !has {
_, err = sess.Insert(remigrated)
if err != nil {
return fmt.Errorf("unable to (re)insert webauthn_credential[%d]. Error: %w", reg.ID, err)
}

continue
continue
}
}

_, err = sess.ID(remigrated.ID).AllCols().Update(remigrated)

Loading…
Cancel
Save