Hallo,
Nachdem wir bereits im April eine Zusammenführung von zwei Foren auf einem Testserver durchgeführt haben, die sehr gut verlief. Haben wir beschlossen, die beiden Foren endgültig zusammenzuführen.
Nach meinem damaligen Vorgehen erhalte ich beim Starten des Zusammenführungsskripts eine Fehlermeldung bei der Verbindung zu Postgres.
Ich bin nun seit vier Tagen dabei, aber da ich kein Entwickler bin, bin ich bei der Fehlersuche etwas eingeschränkt.
Vielen Dank im Voraus.
Hier ist der Fehler:
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)
Ich nutze diese Gelegenheit, um die vollständige Zusammenführungsanleitung zu veröffentlichen.
Diese Anleitung basiert auf dem Originalbeitrag und den Problemen, die bei meinen Tests aufgetreten sind.
Diese Anleitung hat im April funktioniert (siehe dieses Thema).
- Beginnen Sie mit aktuellen Backups der beiden Foren,
- Installieren Sie eine Discourse-Instanz,
- Importieren Sie die beiden Backups,
- Stellen Sie das zu behaltende Forum wieder her.
In SSH:
- Wechseln Sie in den Ordner
/var/discourse - Geben Sie die App mit
./launcher enter appein.
Erstellen Sie die DB.
su postgres
psql
CREATE DATABASE copyme ENCODING='utf8';
Ändern Sie das Passwort des postgres-Benutzers
\password postgres
Beenden Sie postgres
\q
Beenden Sie den postgres-Benutzer
exit
Wechseln Sie zum discourse-Benutzer
su discourse
Entpacken des alten Forum-Backups
Wechseln Sie in den entsprechenden Ordner cd public/backups/default
Extrahieren Sie das alte Backup mit dem Befehl tar xvzf old.forum.tar.gz
Kopieren von BDD.lu nach BDD copyme.
gunzip < dump.sql.gz | psql -d copyme
Beenden Sie den discourse-Benutzer
exit
Abhängigkeiten
nano, sqlite3 und mysql2 Abhängigkeiten
(als root-Benutzer 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 ../
Installation von Tiny_tds
Sie müssen FreeTDS und dann Tiny_tds installieren.
Für 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
Für Tiny_tds:
gem install tiny_tds
gem install ruby-bbcode-to-md
cd ../
Das Skript
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
Übersetzt mit www.DeepL.com/Translator (kostenlose Version)