Ho appena spostato un forum da name.com a forum.name.com, ma l’operazione è fallita:
Errore: ERRORE: valore chiave duplicato viola il vincolo di unicità “unique_post_links”
DETTAGLIO: La chiave (topic_id, post_id, url)=(246, 813, http://forum.name.com) esiste già.
Il rimappaggio è stato applicato solo parzialmente a causa dell’errore sopra. Si prega di rieseguire lo script.
Quindi l’ho rieseguito (è fallito di nuovo), poi ho eseguito rake posts:rebake e controllato il forum, scoprendo che ci sono alcune istanze di forum.forum.name.com. (Quindi ho provato a eseguire discourse remap forum.forum.name.com forum.name.com e rake posts:rebake per risolvere il problema, con qualche successo; ho dovuto modificare alcune istanze manualmente).
Ho alcune domande:
discourse remap name.com forum.name.com si applica solo al contenuto dei post? In caso contrario, devo controllare solo le Impostazioni del sito per individuare eventuali problemi?
Dovrebbe essere eseguito all’interno di una transazione? (Se sì, non sembrava esserlo quando è fallito nel mio caso)
I’ve checked all site settings and they’re fine (as are themes) and I guess all the above were done - can you see anything that should have been done that wasn’t? Do you think it is safe to continue as is or do you think it needs to be redone from scratch?
Also any ideas why duplicate key value violates unique constraint errors are becoming more frequent on Discourse? I’ve noticed a few topics on this and I think this is the third time I’ve had such an issue myself.
Not from the output, no. We only output tables with changes. No way to know if a table not in the list because it of the error, or simply because there were no instances of name.com in the (not listed) table.
Any ideas what the numbers signify? Number of changes?
What is the recommended way forward now? Fix the unique constraint error then reverse (go from forum.name.com back to name.com, then back again) or do something else?
Edit: done
I entered the app and Rails console then deleted the TopicLink in question then went from forum.name.com back to name.com, then back again.