Migration de la base de données vBulletin 5 - Erreurs de script d'importation

Juste une petite mise à jour. Grâce au travail d’un petit groupe incroyablement dévoué, nous avons presque terminé.

À partir de lundi prochain, nous commencerons quelques tests sur une machine de staging, mais les résultats sont prometteurs.

Voici les chiffres totaux dont nous disposons :

En termes de taille, la base de données au format vbulletin3 pèse environ 8 Go.

Et les tests effectués à partir de machines locales se connectant à la base de données source à distance durent environ 6 heures.

Le script migre tous les forums/sous-forums, en les traduisant en catégories et sous-catégories. Il nécessite des sous-catégories de 3ème niveau car nous avons un forum de style assez ancien et certains forums de “clan” y sont hébergés et sont vraiment TRÈS imbriqués.

Tout ce qui est au-delà du 3ème niveau est automatiquement converti en tag, en conservant la structure hiérarchique qu’il avait en termes de relation parent/enfant de sous-forum (en utilisant des groupes de tags).

Chaque sous-forum qui avait des permissions personnalisées (lecture seule par exemple), ou était réservé aux mods/admins, ou encore simplement caché avec un accès par mot de passe, est migré comme “accessible uniquement au personnel”. Il y en aura une douzaine au final et nous pourrons demander au personnel de les réactiver manuellement pour les bons groupes d’utilisateurs.

Les utilisateurs, les groupes d’utilisateurs et les messages privés sont également migrés. Les messages privés sont migrés à la “manière de Discourse”, c’est-à-dire qu’au lieu de N sujets avec 1 message, comme on le verrait dans une simple migration 1:1 de la base de données (structure de base de données vraiment stupide), ils seront organisés en fils de discussion comme le fait Discourse.

Le script effectue également déjà la cuisson, pour accélérer le processus, de tous les messages.

La migration des sujets et des messages se fait avec plusieurs connexions parallèles et essaiera toujours d’utiliser autant de connexions que la base de données source le permet.

Nous verrons combien de temps cela prend en moyenne sur une petite machine de 2vcore/4 Go de RAM, mais c’est déjà plusieurs ordres de grandeur plus rapide que le script de migration en masse actuel (inachevé) qui est disponible.

Plusieurs parties pourraient être mieux optimisées et une GRANDE partie est vraiment conçue sur mesure pour notre forum (nous avons même des mappings en JSON pour réorganiser une grande partie de la structure du forum afin qu’elle soit moins chaotique), donc je doute qu’elle puisse être utilisée par quelqu’un d’autre sans quelques ajustements, mais nous discuterons en interne si nous voulons rendre le dépôt source public après la fin de notre migration.

1 « J'aime »