Skip to content

Commit a5e8dae

Browse files
authored
Fix migration v210 (#18892)
1 parent 49cab2b commit a5e8dae

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

models/migrations/v210.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -137,17 +137,23 @@ func remigrateU2FCredentials(x *xorm.Engine) error {
137137
CreatedUnix: reg.CreatedUnix,
138138
}
139139

140-
has, err := sess.ID(reg.ID).Where("id = ?", reg.ID).Get(new(webauthnCredential))
140+
has, err := sess.ID(reg.ID).Get(new(webauthnCredential))
141141
if err != nil {
142142
return fmt.Errorf("unable to get webauthn_credential[%d]. Error: %w", reg.ID, err)
143143
}
144144
if !has {
145-
_, err = sess.Insert(remigrated)
145+
has, err := sess.Where("`lower_name`=?", remigrated.LowerName).And("`user_id`=?", remigrated.UserID).Exist(new(webauthnCredential))
146146
if err != nil {
147-
return fmt.Errorf("unable to (re)insert webauthn_credential[%d]. Error: %w", reg.ID, err)
147+
return fmt.Errorf("unable to check webauthn_credential[lower_name: %s, user_id:%v]. Error: %w", remigrated.LowerName, remigrated.UserID, err)
148148
}
149+
if !has {
150+
_, err = sess.Insert(remigrated)
151+
if err != nil {
152+
return fmt.Errorf("unable to (re)insert webauthn_credential[%d]. Error: %w", reg.ID, err)
153+
}
149154

150-
continue
155+
continue
156+
}
151157
}
152158

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

0 commit comments

Comments
 (0)