Verwenden Sie ein Import-Skript, das MySQL erfordert

You’ll need to modify the script to import the data. The bbpress script imports only posts of a particular type (I likely don’t remember the right wordpress lingo). What kind of WP posts do you want to import? Which are topics and which are posts? Is there something like categories? Those are just a few questions you’ll need to answer by modifying the script. How to do that is beyond the scope of the support you’re likely to get here.

Edit:I’ve retired a few times and gotten closer… Now:

At step 2, mysql -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < /backup/yourbackup.sql i get the error bash: /backups/yourstratapropertywordpress.sql: No such file or directory when it does exist (at least, in /var/backups it does)

If I jump ahead and try su discourse -c "bundle exec ruby script/import_scripts/bbpress.rb" anyway, I get the following result:

Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
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': Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Mysql2::Error::ConnectionError)

Thanks! I will take a look at the DB and the script and see if I can’t accomplish my purposes.

1 „Gefällt mir“

Good luck! I wrote at least a couple importers before I “learned” Ruby. If you have an understanding of SQL that could be acquired in an undergraduate course in the mid 1980s, you can likely pull it off. If you write the queries something such that the field names in the resulting data match what the script expect you might be able to change only the SQL.

@pfaffman I’d really appreciate your help here, I’m very stuck

I’m pretty slammed right now and this likely isn’t solved here. Email Jay@literatecomputing.com with a budget and I’ll do my best to come up with a solution.

This seems like your MySQL server is either not running or is not installed properly.

1 „Gefällt mir“

Success!

The post type should be post and needs to replace post_type topic. Tags were not brought over nor were the topics’ categories. All my posts were imported as an anonymous user, but it is certainly a decent start!

1 „Gefällt mir“

Glad you’re making headway!

Vielen Dank für diese klare Anleitung, sie war entscheidend für mein Verständnis des Importvorgangs, anstatt nur blind Befehle zu kopieren und einzufügen.

Ich versuche immer noch, den schnellsten Weg zu finden, ein sehr großes Drupal-Forum zu importieren, und ich habe immer noch den Eindruck, dass die Dinge in meinem Fall optimiert werden könnten, um einige Ausfallzeiten zu verkürzen, wenn ich den endgültigen Produktionsforum-Migrationslauf durchführe. Ich bin vielleicht ein alter Hase, aber ich bin noch nicht ganz vom Docker/Containerization-Paradigma überzeugt. Ich bin sicher, dass ich irgendwo gelesen habe, dass es irgendwann einen Docker-Bug gab, der zu einer massiv langsameren Leistung von Dockerized MySQL-Instanzen führte. Im Docker-Forum sehe ich diesen Bericht, bin mir aber nicht sicher, ob er noch relevant ist. Außerdem ist er in meinem Fall möglicherweise nicht relevant, da ich Debian statt Ubuntu auf dem Host verwende.

Eine andere Möglichkeit wäre, MySQL oder MariaDB auf dem Host-Betriebssystem außerhalb des Containers zu installieren?

Und ohne ins Detail zu gehen, wie wäre es mit der Optimierung der my.cnf mit einigen Vorschlägen von MySQLTuner? Die Standard-Docker-Konfiguration, die für alle Instanzen funktioniert, kann mit ihren Pufferpool-Instanzen und Key-Buffer-Größen, die auf einer dedizierten Produktionsdatenbank einen großen Unterschied machen, nicht optimal sein.

Hallo. Vielen Dank für diese Lösung. Ich hatte die gleichen Probleme mit den Gems, wie Sie in Ihrem Artikel erwähnt haben, und freue mich wirklich darauf, dies zum Laufen zu bringen. Funktioniert diese Methode, um ein Wordpress bbpress-Forum (gehostet auf DreamPress) auf eine Discourse-Instanz (gehostet auf Digital Ocean) zu migrieren?

Ich verwende den Ubuntu-basierten Droplet von Digital Ocean und das Webterminal/die Konsole. Meine erste Frage ist, was erwartet wird, wenn ich /var/discourse/launcher stop app /var/discourse/launcher rebuild import ausführe? Sollte sich das Webterminal/die Konsole schließen? Ich habe es versucht, aber die Datei import.yml scheint nicht gespeichert zu werden. Sie wird in ihren Standardzustand zurückversetzt.

Kann mir auch jemand sagen, ob ich Schritt 2 (optional) in meinem Setup ausführen muss?

Vielen Dank im Voraus.

PS: Ich bin bereit, jemanden dafür zu bezahlen, aber mein Budget ist auf 200 US-Dollar begrenzt.

Vielleicht möchtest du das im Marketplace posten.

1 „Gefällt mir“