[phpBB2] Fusion de 2 forums Difficile

[phpBB2] Fusion de 2 forums


» Fusionner 2 forums

Le but de ce tutorial est de vous permettre de fusionner 2 forums phpBB 2

» Existant

Pour notre tutorial, nous allons imaginer que nous avons 2 forums phpBB 2 ayant la même version et aucun mod installé.

Nous avons donc 2 forums :

  • Alpha (base de données A)
  • Beta (base de données B)
Le forum Alpha est plus gros que le forum Beta (plus de membres, de messages etc...)

» Besoin

Afin de réaliser notre fusion, vous devez tout d'abord avoir quelques pré-requis comme:
  • Avoir installé WAMP ou Easyphp sur sa machine
  • Avoir lu quelques tutoriaux de notre Centre de documentations.

Nous allons devoir créer une nouvelle base de données afin d’effectuer plusieurs opérations dessus afin de réussir notre fusion !

» Étape 1 : Sauvegarde des bases de données

Afin d'éviter toute erreur, nous allons tout d'abord sauvegarder nos bases de données. Pour cela, je vous invite à lire le tutorial suivant :
Sauvegarder/Restaurer sa base de données (PhpMyadmin).
Il suffit de suivre les instructions de sauvegarde de ce tutorial sur votre propre phpMyadmin qui se trouve chez votre hébergeur.
Nous allons sauvegarder la base Alpha et lui donner le nom de ‘save_alpha.sql’, puis sauvegarder ‘save_beta.sql’.

» Étape 2 : Création de la base de donnée en local

Pour cela, je vous invite à lire le tutorial suivant : Introduction à PHPMyadmin.
Ceci étant dit, ce tutorial ne balaye que l'interface afin de créer une nouvelle base. Voici la démarche à suivre en local. En règle générale, vous ne pouvez pas créer de base de données suivant l'offre que vous avez ou alors il faut que vous passiez par un outil de gestion comme Plesk ou Cpanel suivant votre hébergeur.
Créer une base du nom de ‘zeta’ (Base de données Z).

» Étape 3 : Importation d’une base (Base A)

Pour cette étape, je vous invite à lire ce tutorial : [Doc]

Exécuter une requête SQL
.

Une fois la base Z créée, cliquez sur l'onglet SQL et à la place d'aller dans la zone de texte (grande zone blanche), cliquez sur parcourir et chercher votre sauvegarde.
Une fois uploadé dans la base Z nouvellement créée, retournez dans la zone SQL, là il vous faut exécuter ce script (copier/coller le dans la zone de texte et cliquez sur exécuter)
Code: Tout sélectionner
UPDATE phpbb_categories SET cat_id = cat_id + 100, cat_order = cat_order + 100;
UPDATE phpbb_forums SET forum_id = forum_id + 100, cat_id = cat_id + 100, forum_order = forum_order + 100, forum_last_post_id = forum_last_post_id + 100;
UPDATE phpbb_forums SET forum_last_post_id = '0' WHERE forum_last_post_id = 100;
UPDATE phpbb_posts SET post_id = post_id + 100, topic_id = topic_id + 100, forum_id = forum_id + 100, poster_id = poster_id + 100;
UPDATE phpbb_posts_text SET post_id = post_id + 100;
UPDATE phpbb_topics SET topic_id = topic_id + 100, forum_id = forum_id + 100, topic_first_post_id = topic_first_post_id + 100, topic_last_post_id = topic_last_post_id + 100, topic_poster = topic_poster + 100;
UPDATE phpbb_users SET user_id = user_id + 100;
UPDATE phpbb_vote_desc SET vote_id = vote_id + 100, topic_id = topic_id + 100;
UPDATE phpbb_vote_results SET vote_id = vote_id + 100;
UPDATE phpbb_vote_voters SET vote_id = vote_id + 100, vote_user_id = vote_user_id + 100;

Ici, j'ai pris 100, pour exemple. Mais vous pouvez bien mettre 1000 ou 10 000 sans aucun problème. La seule chose, c'est qu'il faut que ce chiffre soit plus grand que les ID de notre forum Bêta pour éviter de se retrouver avec des duplicatas d'ID.

Par exemple, si l'ID la plus grande de Bêta est 102 alors dans ce cas, nous allons devoir remplacer +100 par +105. Si nous avions laissé 100 alors durant toute la fusion, nous aurions eu des problèmes avec le premier message, membre, etc

» Étape 4 : Sauvegarde de la bases Zeta

Pour cela, je vous renvoie à l’étape 1, à la différence ici, qu’il faut sauvegarder uniquement les données de ces tables :

    phpbb_categories
    phpbb_forums
    phpbb_posts
    phpbb_posts_text
    phpbb_topics
    phpbb_users
    phpbb_vote_desc
    phpbb_vote_results
    phpbb_vote_voters
Vous allez enregistrer cette sauvegarde sous le nom ‘save_fusion.sql’.

» Étape 5 : Supprimer les tables de la base Zeta

Une fois la sauvegarde faite, il suffit de supprimer les tables.
Lorsque vous êtes sur votre base et que vous voyez la liste de vos tables en bas :
Cochez tout et dans le menu déroulant, cherchez "Supprimer"

» Étape 6 : Importation de votre base Beta

Executer, comme déjà vu, le script ‘save_beta.sql’.

» Étape 7 : Fusion !

Executer, comme déjà vu, le script ‘save_fusion.sql’.

Voilà, c'est fini !

01/03/2015 - modifié par Skouat pour modifier le titre
04/03/2014 - modifié par Geo pour convertir le sujet en article.
Avatar de l’utilisateur
Oyo
Inoubliable administrateur
 
Rédigé le: 09 Mar 2008 à 14:03
Articles: 1
Noter cet article: 123456 Votants: 1
Mots-clés: Fusion, de, 2, forums, 20x

Retourner vers Installation


cron