Ist es in Ordnung, die external_id in der Discourse-Datenbank zu aktualisieren?

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.

Danke

Ja, das solltest du tun können, aber du solltest zuerst das eigentliche Problem beheben.

Stelle zum Beispiel sicher, dass bei der Zusammenführung von Konten immer die niedrigste ID zugewiesen/verwendet wird.

3 „Gefällt mir“

Ja.. während externer Konto-Zusammenführungen respektiere ich das älteste Konto… aber manchmal ist das nicht das, was ich brauche.

Einige Konten interagieren mit dem Forum (Typ A, sagen wir) und einige andere Konten sind nicht dafür gedacht (Typ B).

Wenn sie also zuerst ein Konto vom Typ B erstellen…
und später erstellen sie ein Konto vom Typ A, sie melden sich damit im Forum an (SSO).

und später führen sie A & B zusammen und ehren das älteste Konto, das eine andere externe ID hat.

Also ja…
Ich muss eine Lösung für meine externen System-Dingsbums finden…

Aber ich denke, ich werde einen täglichen Cronjob einrichten, der prüft, ob so etwas passiert ist, und die externen IDs vorerst korrigiert.

Danke!

In diesem Fall könnten Sie entweder:

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.