Hello
 
je suis sur une base de donnée mysql 4.1.
 
En fait j'avais eu le même probleme sur un autre site en octobre dernier et j'avais résolu le pb en enlevant à la main les doublons...
Mais comme je vais chez un client pour appliquer le patch, je voulais être sur qu'en faisant ça c t bon.
 
En enlevant les doublons j'avais remarqué qq pb annexe. Il m'a fallu recréer certains lien sur les fichier dans mes contenus Jahia.
 
 
Nicolas
 
Nicolas LAFAURY
Smile- Motoriste Internet
01-41-40-11-05
[EMAIL PROTECTED]
 
 


De : Fabrice Marchon [mailto:[EMAIL PROTECTED]
Envoyé : mardi 11 juillet 2006 11:52
À : [email protected]
Objet : RE: Jahia 4 probleme DB slide

Hello!
 
J'ai rencontré également des erreurs lors du patch de Jahia 4.0.7 à 4.1.1 exactement au même endroit avec un serveur MySQL 4.0!
De mon côté, j'ai eu des problèmes d'intégrité dans les tables jahia_slide_property et jahia_slide_children.
 
Pour la première table jahia_slide_property, j'ai mis toutes les colonnes à non-null et avec une valeur par défaut.
Pour la deuxième table jahia_slide_children, il existait des doublons que j'ai supprimé.
De plus, pour ces deux tables, j'ai ajouté des clés primaires également.
 
Après ces modifications de schéma de la bd, le patch s'est appliqué sans aucune erreur.
 
Je ne sais pas si c'est vraiment standard comme erreur, ou si c'est dû à notre configuration de Jahia.
 
Quelle base de données as-tu?

Fabrice Marchon

De : Nicolas Lafaury [mailto:[EMAIL PROTECTED]
Envoyé : mardi, 11. juillet 2006 09:41
À : [email protected]
Objet : Jahia 4 probleme DB slide

Bonjour
 
Je cherche à patcher Jahia 4.0 en 4.1 à l'aide du patch standard.
J'ai l'erreur suivante :
 

Execute update :
-----------------
 
Apply class PatchSlide2b ...
PatchSlide2 initialized.
Load script : WEB-INF\var\db\mysql.script
java.sql.SQLException: Duplicate entry '150475-Guide JAHIA.doc-150474' for key 1
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2847)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
        at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1347)
        at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:958)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1957)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1880)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1741)
        at org.jahia.update.core.PatchSlide2b.execute(PatchSlide2b.java:93)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jahia.update.JahiaUpdate.executeUpdate(JahiaUpdate.java:557)
        at org.jahia.update.JahiaUpdate.main(JahiaUpdate.java:115)
        at org.jahia.update.JahiaUpdate.execute(JahiaUpdate.java:77)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jahia.update.JahiaUpdateChain.executeUpdate(JahiaUpdateChain.java:341)
        at org.jahia.update.JahiaUpdateChain.main(JahiaUpdateChain.java:76)
 
Cela vient du fait qu'il y a des entrées dans la base de données qui n'ont pas de correspondance de fichiers "\tomcat\webapps\jahia\WEB-INF\var\content\slide"
Au passage c'est aussi ça qui empeche d'acceder au répertoire en tant que dossier web.
Du coup j'ai supprimé les entrées dans la table "jahia_sl2_uri" qui n'avaient pas de correspondance de fichier. Et j'ai supprimé les fichiers qui n'avaient pas de correspondance dans la base. J'ai supprimé aussi les doublons de fichier dans cette même table.
 
Le patch s'applique donc maintenant correctement.
 
Ma question est donc la suivante :
   
  1. Existe t'il un outil automatique pour faire cette manipulation ?
  2. Est ce que le mode opératoire est correct ou dois je purger des lignes à d'autres endroits dans les tables ?
  3. Comment ces erreures en base apparaissent t elles ?
   
en vous remerciant pour vos réponses.
 
Nicolas
 
Nicolas LAFAURY
Smile- Motoriste Internet
01-41-40-11-05
[EMAIL PROTECTED]

Répondre à