Usa uno script di importazione che richiede MySQL

Dovrai modificare lo script per importare i dati. Lo script bbPress importa solo post di un certo tipo (probabilmente non ricordo la terminologia corretta di WordPress). Che tipo di post di WP vuoi importare? Quali sono i topic e quali i post? Esistono categorie? Queste sono solo alcune domande a cui dovrai rispondere modificando lo script. Come farlo va oltre l’ambito del supporto che probabilmente otterrai qui.

Modifica: Mi sono ritirato un paio di volte e ci sono andato vicino… Ora:

Al passaggio 2, mysql -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < /backup/yourbackup.sql ricevo l’errore bash: /backups/yourstratapropertywordpress.sql: No such file or directory anche se il file esiste (almeno, lo trovo in /var/backups).

Se salto questo passaggio e provo comunque su discourse -c "bundle exec ruby script/import_scripts/bbpress.rb", ottengo il seguente risultato:

Caricamento utenti esistenti...
Caricamento categorie esistenti...
Caricamento post esistenti...
Caricamento argomenti esistenti...
Traceback (most recent call last):
        5: from script/import_scripts/bbpress.rb:512:in `<main>'
        4: from script/import_scripts/bbpress.rb:512:in `new'
        3: from script/import_scripts/bbpress.rb:21:in `initialize'
        2: from script/import_scripts/bbpress.rb:21:in `new'
        1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect': Impossibile connettersi al server MySQL locale tramite socket '/var/run/mysqld/mysqld.sock' (2) (Mysql2::Error::ConnectionError)

Grazie! Darò un’occhiata al DB e allo script per vedere se riesco a raggiungere i miei obiettivi.

1 Mi Piace

Buona fortuna! Ho scritto almeno un paio di importer prima di “imparare” Ruby. Se hai una conoscenza del SQL acquisibile in un corso universitario di metà anni '80, probabilmente ce la farai. Se scrivi le query in modo che i nomi dei campi nei dati risultanti corrispondano a quelli attesi dallo script, potresti riuscire a modificare solo il SQL.

@pfaffman Ti sarei davvero grato per il tuo aiuto qui, sono molto bloccato.

Sono molto impegnato in questo momento e probabilmente la soluzione non è qui. Invia una email a Jay@literatecomputing.com indicando il budget e farò del mio meglio per trovare una soluzione.

Sembra che il server MySQL non sia in esecuzione o non sia installato correttamente.

1 Mi Piace

Riuscito!

Il tipo di post dovrebbe essere post e deve sostituire il post_type topic. I tag non sono stati trasferiti, né le categorie dei topic. Tutti i miei post sono stati importati come utente anonimo, ma è certamente un buon inizio!

1 Mi Piace

Felice di vedere che stai facendo progressi!

Grazie per questa guida chiara, è stata fondamentale per la mia comprensione del processo di importazione invece di limitarsi a copiare/incollare comandi alla cieca.

Sto ancora cercando di capire il modo più veloce per importare un forum Drupal molto grande, e ho ancora l’impressione che le cose potrebbero essere ottimizzate nel mio caso per ridurre un po’ i tempi di inattività quando eseguirò la migrazione finale del forum di produzione. Potrei essere un po’ un “graybeard” (vecchio saggio), ma non sono ancora del tutto convinto del paradigma Docker/containerizzazione. Sono sicuro di aver letto da qualche parte che c’è stato un bug di Docker a un certo punto che causava prestazioni massicciamente più lente delle istanze MySQL containerizzate. Sul forum di Docker sto vedendo questo report, ma non sono sicuro se sia ancora rilevante. Inoltre, potrebbe non essere rilevante nel mio caso perché sto eseguendo Debian invece di Ubuntu sull’host.

Un’altra opzione potrebbe essere quella di installare MySQL o MariaDB sul sistema operativo host al di fuori del container?

E senza entrare nei dettagli, che dire dell’ottimizzazione di my.cnf con alcuni suggerimenti da MySQLTuner? La configurazione Docker standard che funziona universalmente per tutte le istanze non può essere ottimale con le sue istanze di buffer pool e le dimensioni dei key buffer, che fanno una differenza enorme su un database di produzione dedicato.

Ciao. Grazie per questa soluzione. Ho avuto problemi con le gemme come hai menzionato nel tuo articolo, quindi non vedo l’ora di far funzionare questo. Questo metodo funziona per migrare un forum Wordpress bbpress (ospitato su DreamPress) a un’istanza Discourse (ospitata su Digital Ocean)?

Sto usando il droplet basato su Ubuntu di Digital Ocean e il terminale/console web. La mia prima domanda è cosa ci si aspetta che accada quando eseguo /var/discourse/launcher stop app /var/discourse/launcher rebuild import? Il terminale/console web dovrebbe chiudersi. Ho provato a farlo, ma il file import.yml non sembra salvarsi. Torna al suo stato predefinito.

Inoltre, qualcuno può chiarire se devo eseguire il passaggio opzionale 2 nella mia configurazione?

Grazie mille in anticipo.

PS: Sono disposto a pagare qualcuno per farlo, ma il mio budget è limitato a $ 200.

Forse vorresti pubblicarlo in Marketplace.

1 Mi Piace