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.
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.
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!
Glad you’re making headway!
Gracias por esta guía clara, fue clave para mi comprensión del proceso de importación en lugar de simplemente copiar y pegar comandos a ciegas.
Todavía estoy tratando de averiguar la forma más rápida de importar un foro muy grande de Drupal, y todavía tengo la impresión de que las cosas podrían optimizarse en mi caso para reducir el tiempo de inactividad cuando realice la ejecución final de migración del foro de producción. Puedo ser un poco “graybeard” (viejo lobo de mar), pero todavía no estoy totalmente convencido del paradigma Docker/contenedores. Estoy seguro de que leí en alguna parte que hubo un error en Docker en algún momento que estaba causando un rendimiento masivamente más lento de las instancias de MySQL dockerizadas. En el foro de Docker, estoy viendo este informe, pero no estoy seguro de si todavía es relevante. Tampoco podría ser relevante en mi caso porque estoy ejecutando Debian en lugar de Ubuntu en el host.
¿Otra opción podría ser instalar MySQL o MariaDB en el sistema operativo host fuera del contenedor?
Y sin entrar en detalles, ¿qué hay de optimizar el my.cnf con algunas sugerencias de MySQLTuner? La configuración estándar de Docker que funciona en todos los casos para todas las instancias no puede ser óptima con sus instancias de grupo de búfer y tamaños de búfer de clave, que marcan una gran diferencia en una base de datos de producción dedicada.
Hola. Gracias por esta solución. He estado teniendo problemas con los gems como mencionaste en tu artículo, así que tengo muchas ganas de que esto funcione. ¿Funciona este método para migrar un foro de Wordpress bbpress (alojado en DreamPress) a una instancia de Discourse (alojada en Digital Ocean)?
Estoy usando el droplet basado en Ubuntu de Digital Ocean y la terminal/consola web. Mi primera pregunta es, ¿qué se espera que suceda cuando ejecuto /var/discourse/launcher stop app /var/discourse/launcher rebuild import? ¿Se supone que la terminal/consola web se cierre? Lo he intentado, pero el archivo import.yml no parece guardarse. Vuelve a su estado predeterminado.
Además, ¿alguien puede arrojar algo de luz sobre si necesito ejecutar el paso opcional 2 en mi configuración?
Muchas gracias de antemano.
PD: Estoy abierto a pagarle a alguien para que lo haga, pero mi presupuesto está limitado a $200.
Quizás quieras publicar eso en Marketplace.