Ciao,
Avendo già effettuato un merge di due forum ad aprile, su un server di test, che è andato molto bene. Abbiamo deciso di unire definitivamente i due forum.
Seguendo la mia procedura dell’epoca, mi ritrovo con un errore di connessione a Postgres, all’avvio dello script di merge.
Ci sto lavorando da quattro giorni, ma non essendo uno sviluppatore, sono un po’ limitato nel trovare il problema.
Grazie in anticipo
Ecco l’errore:
discourse@serveur-app:/var/www/discourse$ IMPORT=1 DB_NAME=copyme DB_PASS=passwdDB SOURCE_BASE_URL=http://old.forum.fr UPLOADS_PATH=/var/www/discourse/public/uploads/default bundle exec ruby script/bulk_import/discourse_merger.rb
Loading application...
Traceback (most recent call last):
5: from script/bulk_import/discourse_merger.rb:817:in `<main>'
4: from script/bulk_import/discourse_merger.rb:817:in `new'
3: from script/bulk_import/discourse_merger.rb:22:in `initialize'
2: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg.rb:69:in `connect'
1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg/connection.rb:661:in `new'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/pg-1.4.2/lib/pg/connection.rb:708:in `connect_to_hosts': could not match 0 port numbers to 1 hosts (PG::ConnectionBad)
Colgo l’occasione per riproporre la procedura completa di merge.
Questa procedura si basa sul post originale e sui problemi riscontrati durante i miei test
Questa procedura ha funzionato ad aprile (vedi questo topic).
- Iniziare con backup aggiornati dei due forum,
- Installare un discourse,
- Importare i due backup,
- Ripristinare il forum da conservare.
In SSH:
- Andare nella cartella
/var/discourse - Entrare nell’app
./launcher enter app.
Creazione del DB.
su postgres
psql
CREATE DATABASE copyme ENCODING='utf8';
Modifica della password dell’utente postgres
\password postgres
Uscire da postgres
\q
Uscire dall’utente postgres
exit
Passare all’utente discourse
su discourse
Decompressione del salvataggio del forum VECCHIO
Andare nella cartella corrispondente cd public/backups/default
Estrarre il backup VECCHIO tramite il comando tar xvzf old.forum.tar.gz
Copia da BDD.lu a BDD copyme.
gunzip < dump.sql.gz | psql -d copyme
Uscire dall’utente discourse
exit
Dipendenze
Dipendenze nano, sqlite3 e mysql2
(con utente root in /var/www/discourse)
apt update && apt upgrade -y
apt-get install -y nano sqlite3 libsqlite3-dev mariadb-server libmariadb-dev -y
gem install sqlite3 mysql2
ruby bbcode to md
git clone https://github.com/nlalonde/ruby-bbcode-to-md.git
cd ruby-bbcode-to-md/
gem build ruby-bbcode-to-md.gemspec
gem install ruby-bbcode-to-md-*.gem
cd ../
Installazione di Tiny_tds
Devi installare FreeTDS e poi Tiny_tds.
Per FreeTDS:
wget http://www.freetds.org/files/stable/freetds-1.3.12.tar.gz
tar -xzf freetds-1.3.12.tar.gz
cd freetds-1.3.12
./configure --prefix=/usr/local --with-tdsver=7.3
make
make install
Per Tiny_tds:
gem install tiny_tds
gem install ruby-bbcode-to-md
cd ../
Lo script
su discourse
bundle config unset deployment
IMPORT=1 bundle install
IMPORT=1 DB_NAME=copyme DB_PASS=passwdDB SOURCE_BASE_URL=http://old.forum.fr UPLOADS_PATH=/var/www/discourse/public/uploads/default bundle exec ruby script/bulk_import/discourse_merger.rb
Tradotto con www.DeepL.com/Translator (versione gratuita)