Modificare il database in un backup per rimuovere un tag chiave duplicata ed evitare fallimenti nel ripristino.

Un piccolo aggiornamento. Qualcun altro nel mio team ci stava lavorando la settimana scorsa ma non è arrivata una soluzione, quindi ho provato di nuovo, questa volta modificando il DB sul mio sistema locale.

Cosa ho fatto:

  1. scaricato un vecchio backup che voglio ripristinare
  2. decompresso i file con 7zip
  3. aperto dump.sql con visual studio code
  4. trovato i tag duplicati direttamente nel DB.
  5. trovato quello che sembrava l’elenco dei tag cercando con ’ ’ attorno al tag. Nel mio caso ‘socialmedia’. I tag sembrano essere il 2° e il 3° dal basso delle istanze trovate.

  1. modificato uno per leggere

132 ‘socialmedia2’:1A socialmedia2 en_GB 3

  1. Ricompresso il file dump.sql in 7zip
  • Aggiungi all’archivio
  • Formato archivio .gzip
  1. Ricompresso il file di backup principale
  • Aggiungi all’archivio
  • Formato archivio .tar (gzip non è ancora disponibile)
  1. Ora dovresti vedere un file di backup .tar zippato e corretto

  2. Comprimere il file .tar in 7zip per creare un file .tar.gz, per corrispondere al formato utilizzato da Discourse

  • Aggiungi all’archivio
  • Formato archivio .gzip
  1. Carica nei backup e ripristina tramite la sezione admin

A questo punto ho riscontrato un messaggio di errore:

Estrazione del file di dump…
[2023-08-08 15:09:15] EXCEPTION: Nessun file o directory di questo tipo @ rb_check_realpath_internal - /var/www/discourse/tmp/restores/default/2023-08-08-150913/dump.sql.gz

Qualcuno ha qualche idea su cosa mi sia sfuggito nel processo sopra?
L’unica cosa a cui riesco a pensare è che il percorso che sta cercando utilizzi la data odierna e non la data del backup (sto scrivendo questo il 08-08-2023).