Sto cercando nel forum informazioni sull’aggiornamento di external_id nel database di Discourse.
Ho trovato questo argomento interessante:
Tuttavia, ero interessato ad alcune informazioni sulle implicazioni dell’aggiornamento di external_id nel database.
Potrei semplicemente eseguire un aggiornamento SQL e impostare il nuovo external_id corretto? Ci potrebbero essere problemi nascosti? Come se l’utente avesse una sessione aperta corrente o qualcos’altro?
Ho creato gli utenti tramite SSO utilizzando un external_id che è l’ID dell’account dell’utente nel sistema esterno. (Potrei dover modellare qualcos’altro, ma sarebbe bello poter evitare di cambiare il modello del sistema esterno almeno per ora)
Il problema per me è che la persona potrebbe avere più di un account nel sistema esterno e può unire tali account in uno solo, quindi a volte, a seconda di come unisce, un nuovo external_id può arrivare per lo stesso utente/email.
Sto usando l’opzione require_activation, quindi, come ho letto nell’argomento menzionato, non posso eliminare il record e aspettare che venga ricreato.
In tal caso potresti o
a) sincronizzare tutti gli account con Discourse utilizzando il meccanismo di sincronizzazione SSO
b) tenere traccia di quali account sono stati utilizzati per accedere a Discourse
o
c) quando unisci, eseguire una ricerca ID esterna per determinare quale/i account sono stati utilizzati con Discourse