Richiesta di miglioramento per lo script di importazione di phpBB3

Provato anche questo:

root@vps116136-import:/var/www/discourse/config# su discourse -c “bundle exec rake db:drop”
exec: line 1: “bundle: comando non trovato

Mi dispiace, avrei dovuto prevedere questi controlli.

Prova ad eseguire il comando drop con questa variabile d’ambiente:

cd /var/discourse
./launcher enter <nome-del-tuo-container>

su discourse
DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop

Questo in particolare non ha funzionato perché non eri nella directory in cui si trova il Gemfile del progetto, nel tuo caso: /var/www/discourse.

Una nota veloce: il modo più semplice sarebbe stato avere un backup fin dal primissimo avvio del forum, così avresti semplicemente ripristinato prima di tentare di importare di nuovo, ma supponendo che tu non lo avessi, ci è rimasto questo soft reset.

2 Mi Piace

Ancora nessun risultato.

root@vps116136-import:/var/www/discourse# su discourse
discourse@vps116136-import:/var/www/discourse$ DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
PG::InsufficientPrivilege: ERROR:  must be owner of database discourse
Couldn’t drop database ‘discourse’
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR:  must be owner of database discourse (ActiveRecord::StatementInvalid)

…

Provo ora come root…

1 Mi Piace

No.

root@vps116136-import:/var/www/discourse# DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
fatal: rilevata proprietà dubbia nella repository in ‘/var/www/discourse’
Per aggiungere un’eccezione per questa directory, chiama:

    git config --global --add safe.directory /var/www/discourse

rake interrotto!

Dimentica le mie prime istruzioni :smiling_face_with_tear:

  1. Usa docker cp per copiare il tuo ultimo backup fuori dal container. I backup si trovano in /shared/backups/default.
  2. Elimina la cartella shared dalla directory di installazione (il luogo da cui esegui ./launcher): rm -rf /var/discourse/shared
  3. Ricostruisci il container usando ./launcher rebuild <nome-container>.

Questo dovrebbe risolvere il problema, ma fai attenzione a non perdere il tuo backup. Stavo cercando di evitare di suggerirlo per non farti eliminare accidentalmente il backup, ma sembra essere l’unica strada percorribile.

1 Mi Piace

Ci vorrà un po’. Il file tar.gz è di 15GB.

1 Mi Piace

In effetti, ci vorrà…

200

Ho fatto .5GB da quando ho iniziato.

1 Mi Piace

Fatto.

Fatto.

Completato. Pronto per eseguire lo script di importazione, ma…

/var/discourse/shared/standalone/import
├── data
├── mysql
└── settings.yml

L’ho cancellato :index_pointing_up: via, vero.

1 Mi Piace

Sì.

Suppongo tu abbia creato un volume per il tuo container mysql all’interno della cartella condivisa. In tal caso, sfortunatamente dovrai rigenerare il container e ripristinare nuovamente il database.
Gli allegati puoi semplicemente copiarli.
Il file settings.yml non dovrebbe essere così difficile da configurare di nuovo.

Non sono sicuro di cosa significhi rigenerare un container. La prima volta ho inserito phpbb_mysql.sql nella directory mysql secondo queste istruzioni. C’è altro da fare oltre a questo?

I file allegati puoi semplicemente copiarli.

Sì. Tranne che il tar.gz è di 15 GB perché ci sono 45 GB di dati nella directory /files di phpBB. Gestisco il mio forum da 22 anni, lo sai! Quindi sì, li copierò indietro. Ma probabilmente, sarà domani prima che riprenda in mano la cosa.

1 Mi Piace

Sì, questa è la natura delle migrazioni di comunità. Un buon consiglio sarebbe iniziare con un campione più piccolo e, una volta perfezionato il processo, eseguire un’importazione completa.

Ci sono sforzi in corso per rendere gli strumenti più flessibili e il processo meno ridondante, ma questo è un argomento molto complesso.

Spero che tutto vada bene nella tua esecuzione di domani.

1 Mi Piace

Sono d’accordo! Ma phpBB non rende facile ridurre la dimensione del campione. Sono un po’ bloccato con quello che ho. Comunque, era un ambiente di test e nulla è irrecuperabile.

Grazie! Pubblicherò qui. A proposito, ora che sono un esperto di docker cp :zany_face:, sarebbe un grosso problema modificare lo script ruby per stampare l’post_id di phpBB quando si verifica qualcosa del genere?

8000 / 24451 ( 32.7%) [677 items/min] W, [2026-01-13T02:50:22.466363 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range
W, [2026-01-13T02:50:22.466500 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range
W, [2026-01-13T02:50:22.466600 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range

1 Mi Piace

Sono ancora qui! Sto sistemando alcune cose prima di rifare l’importazione e sto risolvendo alcuni intoppi. Aspetto che Claude mi dia un cenno prima di affrontare il prossimo. Ma tornerò…

disperse-lesley-nielsen

1 Mi Piace

OK! Ho risolto il mio ultimo snap senza l’aiuto di Claude e ho avviato l’importazione. Ancora un intoppo:

L’importazione di phpBB3 sta iniziando…

/var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:49:in initialize': undefined method ’ for nil (NoMethodError)

  @site_name = import_settings["site_name"]
                              ^^^^^^^^^^^^^
    from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:11:in `new'
    from /var/www/discourse/script/import_scripts/phpbb3/support/settings.rb:11:in `load'
    from script/import_scripts/phpbb3.rb:20:in `<module:PhpBB3>'
    from script/import_scripts/phpbb3.rb:16:in `<module:ImportScripts>'
    from script/import_scripts/phpbb3.rb:15:in `<main>'
1 Mi Piace

NVM, colpa mia. Il file settings.yml è rovinato. Scusate, probabilmente ci tornerò domani.

2 Mi Piace

Potresti giocare con il debug di pry, puoi aggiungere dei breakpoint nel codice per aprire pry quando vengono eseguiti. Questo ti permette di ottenere una cli interattiva per dare un’occhiata ai dati. Oppure aggiungi semplicemente un puts row[:post_id] nel metodo process_post, così quando viene visualizzato l’avviso puoi vedere l’ultimo id.

3 Mi Piace

Sì, proprio quello! Semplice per te, non tanto per me :zany_face: Ho usato Xdebug estensivamente per il debug lato server di PHP mentre sviluppavo i miei hack, ma sono ufficialmente nella fase “vecchio cane e nuovi trucchi” della mia vita. Se puoi fornirmi capitolo e versetto, sarei felice di apportare quella modifica, ma non fingo di poter hackerare ruby. Non ancora, comunque…

P.S. Claude mi concederà un’udienza tra 28 minuti, spero di riuscire a procedere con l’importazione dopo aver superato l’attuale intoppo.

OK, lo script di importazione è in esecuzione con i file .rb rivisti. Riporto (sbadiglio) domattina.

2 Mi Piace

Uh-oh. Ecco cosa vedo in un post con molte immagini:

Prima che l’MBC possa essere installato, la boccola dell’asta di spinta del master originale deve essere installata. La boccola fornita con il kit è troppo piccola. Rimuovendo il serbatoio della pressione dell’aria dell’unità PS si ottiene un accesso libero per posizionare le nuove linee dei freni.

[attachment=13]51.jpg[/attachment] [attachment=12]52.jpg[/attachment] [attachment=11]53.jpg[/attachment] [attachment=10]54.jpg[/attachment] [attachment=9]55.jpg[/attachment] [attachment=8]56.jpg[/attachment] [attachment=7]57.jpg[/attachment] [attachment=6]58.jpg[/attachment] [attachment=5]59.jpg[/attachment] [attachment=4]60.jpg[/attachment] [attachment=3]61.jpg[/attachment] [attachment=2]62.jpg[/attachment] [attachment=1]63.jpg[/attachment] ~~[attachment=0]64.jpg[/attachment]

Ecco come appariva quel post in phpBB:

In qualche modo ho rovinato la mia istanza Docker per il mio ambiente di test. Sono in fase di ripristino.

Invece di modificare lo script di importazione, farò uno snapshot ed elaborerò successivamente con uno script che prenderà un estratto di attach_ids, nomi file e commenti e tenterà di aggiungerli come didascalie alle immagini (con un piccolo aiuto da Claude). Non sono troppo ottimista, ma farò sapere agli altri come va.

Riguardo a quegli avvisi sui valori di data/ora errati, questo da Claude:

L’avviso proviene dalla gemma EXIFR, che legge i dati EXIF dai file immagine (i tuoi allegati). Non riguarda affatto le date di pubblicazione, ma i metadati presenti nei file immagine stessi.

L’avviso appare durante l’elaborazione degli allegati con metadati data/ora EXIF non validi. Questo è cosmetico e non influenzerà la tua importazione.

Il che è come pensavi tu, @pfaffman. Ma sono contento di sapere ora la causa dell’avviso.

2 Mi Piace