Migración de base de datos vBulletin 5 - Errores en el script de importación

Solo una rápida actualización. Gracias al trabajo de un grupo pequeño increíblemente dedicado, estamos casi terminados.

A partir del próximo lunes comenzaremos algunas pruebas en una máquina de staging, pero los resultados son prometedores.

Estos son los números totales que tenemos:

En cuanto al tamaño, la base de datos en formato vbulletin3 tiene alrededor de 8 GB.

Y las pruebas ejecutadas desde máquinas locales conectándose a la base de datos de origen de forma remota tardan alrededor de 6 horas en completarse.

El script migra todos los foros/subforos, traduciéndolos en categorías y subcategorías. Requiere subcategorías de 3er nivel porque tenemos un foro de estilo bastante antiguo y hay algunos foros de “clanes” alojados allí que están muy, muy anidados.

Cualquier cosa por debajo del 3er nivel se convierte automáticamente en una etiqueta, manteniendo la estructura jerárquica que tenía en términos de relación padre/hijo de subforo (usando grupos de etiquetas).

Cada subforo que tenía permisos personalizados (solo lectura, por ejemplo), o solo para moderadores/administradores, o nuevamente, simplemente oculto con acceso por contraseña, se está migrando como “solo accesible para el personal”. Al final habrá una docena y el personal podrá volver a habilitarlos manualmente para los grupos de usuarios correctos.

Los usuarios, grupos de usuarios y mensajes privados también se migran. Los mensajes privados se migran al “estilo discourse”, lo que significa que en lugar de N temas con 1 mensaje como verías en una simple migración 1:1 de la base de datos (estructura de base de datos realmente tonta), tendrá la forma organizada de hilos que utiliza discourse.

El script también ya está haciendo la “cocción” (preprocesamiento) para acelerar el proceso, de todas las publicaciones.

La migración de temas y publicaciones se realiza con varias conexiones paralelas y siempre intentará utilizar tantas conexiones como lo permita la base de datos de origen.

Veremos cuánto tiempo lleva en promedio en una máquina pequeña de 2vcore/4gb RAM, pero ya es varios órdenes de magnitud más rápido que el script de migración masiva actual (incompleto) que está disponible.

Varias partes podrían optimizarse mejor y MUCHO de esto está diseñado específicamente para nuestro foro (incluso tenemos mapeo en json para reorganizar gran parte de la estructura del foro para que sea menos caótica), por lo que dudo que pueda ser utilizado por alguien más sin algunas modificaciones, pero discutiremos internamente si queremos abrir el repositorio de código fuente al público después de que complete nuestra migración.

1 me gusta