Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2013-10-23 11:44:34

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Je ne peux plus utiliser import/export en synchro ligne -> local

Bonjour,

Préambule :
J'ai l'habitude depuis très longtemps d'effectuer régulièrement une synchro en local du contenu de mon multiblog en ligne (5 blogs / 1600 billets - SQL  18150 enr / 16,7 Mo). Pour cela je fait un export global (flat zip = 2Mo) que j'importe en local. Jusqu'à ce matin ça fonctionnait...

Constat :
...Jusqu'à ce matin où j'ai eu l'excellente idée de mettre à jour le Dotclear 2.5.3 en ligne pour le passer en 2.6-RC-r2480. J'ai à présent, au moment de l'import en local (Dotclear 2.5.3 ou 2.6-RC), le message "Duplicate entry '1' for key 'PRIMARY' (1062)"...

En résumé :
export avec 2.5 + import avec 2.5  : OK
export avec 2.5 + import avec 2.6  : OK
export avec 2.6 + import avec 2.5  : KO
export avec 2.6 + import avec 2.6  : KO

Pour m'en dépêtrer en local :
-1- suppressions de toutes les tables via phpMyAdmin (4 passes à cause des dépendances)
-2- création nouveau blog via (dotclear)/admin/install/index.php et nouvel utilisateur
-3- import (réussi) du même fichier d'export "2.6" qui avait posé auparavant un pb d'import "2.6" ou "2.5"
-4- lancement d'un script perso que j'utilise depuis très longtemps et qui convertit les URL et PATH de ma configuration "ligne" pour l'adapter à ma configuration "locale"
-5- remise à l'identique des différents paramètres liés au nouvel utilisateur. Fastidieux tant qu'on n'aura pas la possibilité (via nouveau plugin ou via amélioration de user:preferences... ???) d'exporter/importer une config utilisateur...

Conclusion :
C'est très lourd. Et un import en 2.6 d'un export "2.6" ne peut plus servir à synchroniser deux multi-blog. Pourquoi tant de haine ? :-)

Je suis prêt à créer un ticket s'il le faut.

Hors ligne

#2 2013-10-23 12:03:10

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

Ca ressemble à un bug.

Pourrais-tu dans /plugins/importExport/inc/flat/class.flat.import.php, ligne 294, remplacer throw $e par :

			throw new Exception($e->getMessage().sprintf(" Error on line : %s",$line->__line));

En relançant l'import, il devrait te dire quelle ligne du fichier de backup ne lui plaît pas.


Dyslexics have more fnu!

Hors ligne

#3 2013-10-23 13:08:33

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

Dsls a écrit :

Ca ressemble à un bug.

Pourrais-tu dans /plugins/importExport/inc/flat/class.flat.import.php, ligne 294, remplacer throw $e par :

			throw new Exception($e->getMessage().sprintf(" Error on line : %s",$line->__line));

En relançant l'import, il devrait te dire quelle ligne du fichier de backup ne lui plaît pas.

J'ai fait la modif et j’obtiens le message DC2 :

Duplicate entry '1' for key 'PRIMARY' (1062) Error on line : 9998

ce qui correspond à

#9996
#9997 : [log log_id,user_id,log_table,log_dt,log_ip,log_msg,blog_id]
#9998 : "1","mirovinben","maintenance","2013-10-23 05:50:25","90.39.231.43","dcMaintenanceCache","default"
#9999

Nota : mon fichier d'export dézippé contient 18176 lignes et pèse 9968 Ko...

Hors ligne

#4 2013-10-23 13:14:30

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

C'est bien un bug. tu peux créer le ticket s'il te plaît ?

Tu viens de mettre en évidence le premier dommage collatéral de l'utilisation des logs dotclear :)


Dyslexics have more fnu!

Hors ligne

#5 2013-10-23 13:39:36

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

Fait : http://dev.dotclear.org/2.0/ticket/1808

Merci de ton aide...

Dernière modification par Mirovinben (2013-10-23 13:40:17)

Hors ligne

#6 2013-10-23 13:50:00

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

Le correctif est poussé, merci pour le feedback :)


Dyslexics have more fnu!

Hors ligne

#7 2013-10-23 13:53:14

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

En attendant la prochaine release, si tu veux résoudre ton souci, il suffit d'ajouter

		$this->con->execute('DELETE FROM '.$this->prefix.'log');

à la suite des autres $this->con->execute dans /plugins/importExport/inc/flat/class.flat.import.php, ligne 234. Ca devrait ressembler à :

		$this->con->begin();
		$this->con->execute('DELETE FROM '.$this->prefix.'blog');
		$this->con->execute('DELETE FROM '.$this->prefix.'media');
		$this->con->execute('DELETE FROM '.$this->prefix.'spamrule');
		$this->con->execute('DELETE FROM '.$this->prefix.'setting');
		$this->con->execute('DELETE FROM '.$this->prefix.'log');

(seule la dernière ligne a été ajoutée).


Dyslexics have more fnu!

Hors ligne

#8 2013-10-23 13:58:58

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

-1- Modification effectuée,
-2- test import du même fichier d'export généré ce matin,
-3- message "[15:57:05] Le contenu a été importé."

\o/

Hors ligne

#9 2013-10-23 13:59:26

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Je ne peux plus utiliser import/export en synchro ligne -> local

\o/


Dyslexics have more fnu!

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map