`discourse remap` fallito

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)

No, si applica all’intero database. Post, impostazioni del sito, temi, caricamenti, tutto.

Ah sì, guardando di nuovo l’errore completo, sembra che siano stati eseguiti questi passaggi:

backup_metadata=1
categories=6
email_logs=306
email_tokens=1
groups=1
incoming_domains=3
incoming_emails=3
javascript_caches=4
post_custom_fields=275
post_revisions=134
posts=441
post_search_data=50
search_logs=8
site_settings=5
stylesheet_cache=540
theme_fields=9
theme_settings=3

Ho controllato tutte le impostazioni del sito e sono corrette (così come i temi), e immagino che quanto sopra sia stato completato. Riesci a vedere qualcosa che avrebbe dovuto essere fatto ma non è stato? Secondo te è sicuro procedere così o pensi che sia necessario rifarlo da zero?

Inoltre, hai qualche idea sul motivo per cui gli errori duplicate key value violates unique constraint stanno diventando più frequenti su Discourse? Ho notato alcuni argomenti a riguardo e credo che questa sia la terza volta che incontro personalmente un problema del genere.

No, non dall’output. Emettiamo solo tabelle con le modifiche. Non c’è modo di sapere se una tabella non è nell’elenco a causa dell’errore, o semplicemente perché non c’erano istanze di name.com nella tabella (non elencata).

Purtroppo questo esula dalle mie competenze.

Grazie, Joshua.

Hai qualche idea su cosa significhino i numeri? Numero di modifiche?

Qual è la strada consigliata ora? Risolvere l’errore del vincolo di unicità e poi invertire (passare da forum.name.com a name.com, e poi di nuovo indietro) o fare qualcos’altro?

Modifica: fatto

Sono entrato nell’app e nella console di Rails, ho eliminato il TopicLink in questione, poi sono passato da forum.name.com a name.com e di nuovo indietro.

backup_metadata=1
categories=6
email_logs=318
email_tokens=2
groups=1
incoming_domains=3
incoming_emails=3
javascript_caches=4
post_custom_fields=277
post_revisions=140
posts=444
post_search_data=51
search_logs=10
site_settings=5
stylesheet_cache=564
theme_fields=9
theme_settings=3
topic_links=281
topics=30
topic_search_data=8
translation_overrides=1
uploads=54
user_auth_token_logs=48
user_emails=2
user_histories=189
Fatto