Ich habe das Forum nach Informationen zur Aktualisierung von external_id in der Discourse-Datenbank durchsucht.
Ich fand dieses Thema interessant:
Dennoch interessierten mich einige Einblicke in die Auswirkungen der Aktualisierung von external_id in der Datenbank.
Kann ich einfach ein SQL-Update ausführen und die neue, korrekte external_id setzen? Kann das versteckte Probleme mit sich bringen? Wie z. B. wenn der Benutzer eine aktuell offene Sitzung hat oder etwas anderes?
Ich habe die Benutzer über SSO mit einer external_id erstellt, das ist die Benutzerkonto-ID im externen System. (Ich muss vielleicht etwas anderes modellieren, aber es wäre cool, das externe Systemmodell zumindest vorerst nicht ändern zu müssen)
Das Problem für mich ist, dass die Person mehr als ein Konto im externen System haben kann und diese Konten zu einem zusammenführen kann, sodass manchmal, je nachdem, wie er zusammenführt, eine neue external_id für denselben Benutzer/dieselbe E-Mail-Adresse kommen kann.
Ich verwende die Option require_activation, sodass ich, wie ich in dem genannten Thema gelesen habe, den Datensatz nicht löschen und darauf warten kann, dass er neu erstellt wird.
a) Alle Konten mithilfe des SSO-Synchronisierungsmechanismus mit Discourse synchronisieren
b) Nachverfolgen, welche Konten zum Anmelden bei Discourse verwendet wurden
oder
c) Wenn Sie zusammenführen, eine externe ID-Suche durchführen, um festzustellen, welche Konten mit Discourse verwendet wurden