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
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 slideBonjourJe 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 :
- Existe t'il un outil automatique pour faire cette manipulation ?
- Est ce que le mode opératoire est correct ou dois je purger des lignes à d'autres endroits dans les tables ?
- Comment ces erreures en base apparaissent t elles ?
en vous remerciant pour vos réponses.NicolasNicolas LAFAURYSmile- Motoriste Internet01-41-40-11-05
