Hola,
Después de haber realizado una fusión de dos foros en abril, en un servidor de prueba, que salió muy bien. Decidimos fusionar los dos foros de forma definitiva.
Siguiendo mi procedimiento de la época, me encuentro con un error de conexión a Postgres, al lanzar el script de fusión.
Llevo cuatro días intentándolo, pero al no ser desarrollador, estoy un poco limitado para encontrar el problema.
Gracias de antemano.
Aquí está el error:
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)
Aprovecho para poner el procedimiento completo de fusión.
Este procedimiento se basa en el post original y en los problemas encontrados durante mis pruebas
Este procedimiento funcionó en abril (ver este tema).
- Empezar con copias de seguridad actualizadas de los dos foros,
- Instalar un discourse,
- Importar las dos copias de seguridad,
- Restaurar el foro a conservar.
En SSH:
- Ir a la carpeta
/var/discourse - Entrar en la app
./launcher enter app.
Crear la DB.
su postgres
psql
CREATE DATABASE copyme ENCODING='utf8';
Cambiar la contraseña del usuario postgres
\postgres password
Salir de postgres
\q
Salir del usuario postgres
exit
Cambiar al usuario discourse
su discourse
Descompresión de la copia de seguridad del foro ANTIGUO
Ir a la carpeta correspondiente cd public/backups/default
Extraer la copia de seguridad ANTIGUA con el comando tar xvzf old.forum.tar.gz
Copia de BDD.lu a BDD copyme.
gunzip < dump.sql.gz | psql -d copyme
Salir del usuario discourse
exit
Dependencias
Dependencias de nano, sqlite3 y mysql2
(con usuario root en /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 ../
Instalación de Tiny_tds
Tienes que instalar FreeTDS y luego Tiny_tds.
Para 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
Para Tiny_tds:
gem install tiny_tds
gem install ruby-bbcode-to-md
cd ../
El 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
Traducido con www.DeepL.com/Translator (versión gratuita)