Fork me on GitHub




(1) 2 »


Bouger tous les posts d'1 forum vers 1 autre : merge ?
Régulier
Inscrit: 24/04/2004 13:29
Messages: 442
Bonjour,

j'ai un forum avec plus de 80,000 messages. Je trouve qu'il y'a un peu trop de forums à mon goût (actuellement : + de 25 forums, et d'autres vont arriver prochainement... (6forums de + ) ) c'est la raison pour laquelle j'ai décidé de "merger" ( ? ) plusieurs forums.
Je veux donc bouger/déplacer TOUS les messages d'un forum vers un autre puis supprimer celui qui se retrouve vide. J'ai tenté cette opération à l'aide de la fonction "merge" de CBB 3.04. La première fois, avec un forum de test avec 2 messages dedans vers un forum "poubelle", l'opération a été un succès. La seconde fois, avec un forum contenant 22 sujets qui devaient être déplacés vers un forum en contenant 13, l'opération a dû buggué... je me suis retrouvé avec un seul forum de 13 sujets. Les 22 sujets du forum que j'ai voulu "merger" ont disparus...
(au passage, si qq un sait comment je peux les récupérer... )

Bref, pour la suite (je dois refaire cette opération pour d'autres forums) j'aimerai savoir comment procéder ?!
Dois-je bouger chaque post 1 par un ?! (sachant que parmi les autres forums que je dois bouger, certains contiennent plusieurs centaines de sujets), ou bien y'a t'il un autre moyen, + simple et sûr ?!

(help

Merci d'avance !

Posté le : 26/06/2006 15:49

[url=http://humour-fun.net/videos.item.153/catastrophe-plateforme-petroliere-chuai.html]effondrement d'une plateforme pétrolière íƒÂ  Chuai ! Un commando d'activistes écologistes pourrait en íƒÂªtre l'auteur..
Partager Twitter Partagez cette article sur GG+
Re: Bouger tous les posts d'1 forum vers 1 autre : merge ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Nous avons déjà effectué ce genre d'opérations sur xoops france mais avec une version de CBB inférieure 1.1x.

Tu peux toujours effectuer l'opération avec une requête sql c'est assez facile car seule 2 tables sont concernées :

update xoops_bb_topics set forum_id=id_forum_destination
where forum_id=id_forum_source;

update xoops_bb_posts set forum_id=id_forum_destination
where forum_id=id_forum_source;

Il faut effectuer cette opération quand son site est fermé et après avoir vidé le contenu des tables xoops_online et xoops_session pour être sur que personne n'est connecté. Hé bien sur sauvegarde préalable, on sait jamais...

Posté le : 26/06/2006 16:19
Partager Twitter Partagez cette article sur GG+
Re: Bouger tous les posts d'1 forum vers 1 autre : merge ?
Régulier
Inscrit: 24/04/2004 13:29
Messages: 442
Merci (cool

Je testerai ça ce soir ou demain matin. (en même temps que la migration de Xoops Multi languages de Marcan vers XLanguage)

La requête doit donc ressembler à ceci si j'ai bien compris :
update xoops_bb_topics set forum_15=16_forum_destination
where forum_id=id_forum_source;

Est-ce qu'on doit garder la ligne " where forum_id=id_forum_source; " ?!

J'suis pas sûr d'avoir tout pigé correctement... ?

Posté le : 26/06/2006 16:55

[url=http://humour-fun.net/videos.item.153/catastrophe-plateforme-petroliere-chuai.html]effondrement d'une plateforme pétrolière íƒÂ  Chuai ! Un commando d'activistes écologistes pourrait en íƒÂªtre l'auteur..
Partager Twitter Partagez cette article sur GG+
Re: Bouger tous les posts d'1 forum vers 1 autre : merge ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
il ne faut conserver que les références des id.

update xoops_bb_topics set forum_id=99 where forum_id=15;

99 est l'id du forum de destination
15 est l'id du forum actuel

Posté le : 26/06/2006 17:41
Partager Twitter Partagez cette article sur GG+
URGENT : HELP Needed ! - Bouger tous les posts d'1 forum vers 1 autre : merge ?
Régulier
Inscrit: 24/04/2004 13:29
Messages: 442
(help

A L'AIDE !!! (urgent : mon site est fermé jusqu'à la fin de l'opération)

Bonjour ^^

j'ai procédé comme décrit, c'est à dire que j'ai effectué ces requêtes via phpMyAdmin sur ma base.
Citation :
update OPDxPJ91_bb_topics set forum_id=45 where forum_id=75;
etc.
Les opérations se sont effectuées sans erreurs. J'ai vidé auparavant les 2 tables xoops_session et xoops_online comme recommandé, et je me retrouve avec ceci :
Open in new window
Je précise que j'ai voulu bouger les messages/sujets/topics du forum "Rencontres sportives" vers "Annuaire et recherche de Traceurs par Région", et comme vous pouvez le voir, sur la page d'index du forum, le nombre de topics ne semble pas avoir bougé d'un poil ! (la capture d'écran a été effectuée APRèS l'opération MySQL qui s'est déroulé sans aucune erreur)


Si encore les messages n'avaient pas bougé.. je trouverai ça étrange, mais ça ne serait pas si grave, je ferais avec, mais les messages ont pourtant bel et bien bougé, comme le précise la capture d'écran suivante :
Open in new window
Le forum est vide comme vous pouvez le voir, alors qu'il est annoncé sur la page d'index du forum qu'il y'a 109 topics/sujets.

(help (help (help (oups

Posté le : 30/06/2006 16:40

[url=http://humour-fun.net/videos.item.153/catastrophe-plateforme-petroliere-chuai.html]effondrement d'une plateforme pétrolière íƒÂ  Chuai ! Un commando d'activistes écologistes pourrait en íƒÂªtre l'auteur..
Partager Twitter Partagez cette article sur GG+
Re: URGENT : HELP Needed ! - Bouger tous les posts d'1 forum vers 1 autre : merge ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Et le bouton Synchronisation dans l'admin du module, selon toi, à quoi pourrait-il bien servir ?

Posté le : 30/06/2006 16:53
Partager Twitter Partagez cette article sur GG+
Re: URGENT : HELP Needed ! - Bouger tous les posts d'1 forum vers 1 autre : merge ?
Régulier
Inscrit: 24/04/2004 13:29
Messages: 442
Citation :
Christian a écrit:
Et le bouton Synchronisation dans l'admin du module, selon toi, à quoi pourrait-il bien servir ?
lol, bah normalement j'aurai du dire "Oops... :oops: " (et j'aurai préféré) mais... ça ne semble pas fonctionner des masses là...

Citation :
Clicking the button below will sync up your forums and topics pages with the correct data from the database. Use this section whenever you notice flaws in the topics and forums lists.

Je clique sur Synchroniser.

Et là, durant 1seconde à peine (si bien qu'il a fallu que je recommence l'opération plusieurs fois pour réussir à faire copier/coller), j'obtiens une page avec marqué Citation :
cleanOrphan:DELETE FROM xoopsprefixe_bb_moderates WHERE (forum_id >0 AND forum_id NOT IN ( SELECT DISTINCT forum_id FROM xoopsprefixe_bb_forums) )
cleanOrphan:DELETE bb FROM xoopsprefixe_bb_reads_forum AS bb LEFT JOIN xoopsprefixe_bb_reads_forum AS aa ON bb.read_item = aa.read_item WHERE aa.post_id > bb.post_id
cleanOrphan:DELETE bb FROM xoopsprefixe_bb_reads_topic AS bb LEFT JOIN xoopsprefixe_bb_reads_topic AS aa ON bb.read_item = aa.read_item WHERE aa.post_id > bb.post_id
Synchronizing forum index and topics (This may take a while)

If the page does not automatically reload, please click here


Puis je raffraichi donc la page d'accueil du module CBB (le forum), et là... rien n'a changé. (oups

Posté le : 30/06/2006 17:45

[url=http://humour-fun.net/videos.item.153/catastrophe-plateforme-petroliere-chuai.html]effondrement d'une plateforme pétrolière íƒÂ  Chuai ! Un commando d'activistes écologistes pourrait en íƒÂªtre l'auteur..
Partager Twitter Partagez cette article sur GG+
Re: URGENT : HELP Needed ! - Bouger tous les posts d'1 forum vers 1 autre : merge ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Comme je l'indiquai dans mon premier post de cette conversation je ne connais que la CBB 1.16 qui comporte moins de tables que la 3.04 que je viens de télécharger.

Il est donc nécessaire de continuer à effectuer un ordre sql de mise à jour pour cette autre table :

update xoops_bb_moderates set forum_id=Id_Forum_destination where forum_id=Id_Forum_source;

Tu remarqueras ainsi que toutes les tables ayant un champ forum_id auront été impactés par cette mise à jour.

Ensuite je retenterai le bouton synchronisation.
N'ayant pas de jeu de données pour cette version 3.04, j'espère que cela va fonctionner.

Posté le : 30/06/2006 21:46
Partager Twitter Partagez cette article sur GG+
Re: URGENT : HELP Needed ! - Bouger tous les posts d'1 forum vers 1 autre : merge ?
Régulier
Inscrit: 24/04/2004 13:29
Messages: 442
lol, le gros bordel.

Attends, j'explique. Mon forum fonctionnait avec l'ancienne base... Mon forum avant mise à jour était en version 1.5 ou 1.6 (CBB), et lorsque j'ai fait la mise à jour vers la 3.04, la table n'a pas été mise à jour... !!!

En bref, il me manquait des tables, et la structures de la moitié d'entres elles au moins n'étaient pas comme elles auraient du être.

Je ne sais pas comment le forum arrivait à fonctionner ! lol


Bref, j'ai donc tenté de mettre à jour la base de données de CBB à l'aide du fichier mysql.304.sql qui se trouvait dans le repertoire de newbb/sql


Là je fais face à plusieurs erreurs MySQL durant la mise à jour :



Citation :
requête SQL:

ALTER TABLE `prefixexoops_bb_categories` DROP `cat_state` ,
CHANGE `cat_url` `cat_url` varchar( 255 ) NOT NULL default '',
DROP `cat_showdescript` ;

MySQL a répondu:Documentation
#1091 - Can't DROP 'cat_state'; check that column/key exists






Citation :
requête SQL:

ALTER TABLE `prefixexoops_bb_categories` ADD INDEX `cat_order` ( `cat_order` ) ;

MySQL a répondu:Documentation
#1061 - Duplicate key name 'cat_order'






Citation :
requête SQL:

ALTER TABLE `prefixexoops_bb_forums` CHANGE `parent_forum` `parent_forum` smallint( 4 ) UNSIGNED NOT NULL default '0',
CHANGE `forum_moderator` `forum_moderator` varchar( 255 ) NOT NULL default '',
CHANGE `forum_topics` `forum_topics` int( 8 ) UNSIGNED NOT NULL default '0',
CHANGE `forum_posts` `forum_posts` int( 10 ) UNSIGNED NOT NULL default '0',
CHANGE `forum_last_post_id` `forum_last_post_id` int( 10 ) unsigned NOT NULL default '0',
CHANGE `cat_id` `cat_id` smallint( 3 ) UNSIGNED NOT NULL default '0',
CHANGE `forum_type` `forum_type` tinyint( 1 ) UNSIGNED NOT NULL default '0',
CHANGE `allow_html` `allow_html` tinyint( 1 ) UNSIGNED NOT NULL default '1',
CHANGE `allow_sig` `allow_sig` tinyint( 1 ) UNSIGNED NOT NULL default '1',
CHANGE `allow_subject_prefix` `allow_subject_prefix` tinyint( 1 ) UNSIGNED NOT NULL default '0',
CHANGE `forum_order` `forum_order` smallint( 4 ) UNSIGNED NOT NULL default '0',
CHANGE `attach_maxkb` `attach_maxkb` smallint( 3 ) UNSIGNED NOT NULL default '1000',
CHANGE `attach_ext` `attach_ext` varchar( 255 ) NOT NULL default '',
CHANGE `allow_polls` `allow_polls` tinyint( 1 ) unsigned NOT NULL default '0',
DROP `allow_attachments` ,
DROP `subforum_count` ;

MySQL a répondu:Documentation
#1091 - Can't DROP 'allow_attachments'; check that column/key exists






Citation :
requête SQL:

ALTER TABLE `prefixexoops_bb_forums` ADD INDEX `forum_last_post_id` ( `forum_last_post_id` ) ,
ADD INDEX `cat_forum` ( `cat_id` , `forum_order` ) ,
ADD INDEX `forum_order` ( `forum_order` ) ,
ADD INDEX `cat_id` ( `cat_id` ) ;

MySQL a répondu:Documentation
#1061 - Duplicate key name 'forum_last_post_id'






Citation :
requête SQL:

ALTER TABLE `prefixexoops_bb_moderates` ADD INDEX `mod_end` ( `mod_end` ) ,
ADD INDEX `forum_id` ( `forum_id` ) ;

MySQL a répondu:Documentation
#1061 - Duplicate key name 'mod_end'





Toutes les autres opérations ont été effectuées correctement et sans erreurs, et j'ose espérer que lorsque la base sera comme elle devrait l'être, je pourrais enfin bouger tous les posts sans obtenir de bug, et sans avoir à recommencer depuis le début. (repartir de la sauvegarde, refaire la mise à jour MySQL de CBB etc. :roll:).

Mais en attendant, j'ai besoin d'aide pour résoudre ces erreurs MySQL...

Please help ! (help

Posté le : 30/06/2006 22:54

[url=http://humour-fun.net/videos.item.153/catastrophe-plateforme-petroliere-chuai.html]effondrement d'une plateforme pétrolière íƒÂ  Chuai ! Un commando d'activistes écologistes pourrait en íƒÂªtre l'auteur..
Partager Twitter Partagez cette article sur GG+
Re: URGENT : HELP Needed ! - Bouger tous les posts d'1 forum vers 1 autre : merge ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Tu disposes de quoi comme sauvegarde mysql ? plus précisément as tu fait une sauvegarde de tes forums avant de passer à la 3.04 ? si oui tu vois ce qu'il te reste à faire.

Posté le : 01/07/2006 00:16
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

28 Personne(s) en ligne (21 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 28 | Plus ...