Je vous écris à peu près serein vu que j'ai eu la très bonne idée de dupliquer ma base et mes fichiers avant de faire la màj. Les dernières fois j'étais super stressé pendant les 2h où mon site en production était planté.
Alors voilà: j'ai un site en 1.9.3 10821, http://www.math.univ-montp2.fr qui fonctionne mais diverge lentement je ne sais pas pourquoi (j'ai perdu par exemple le lien "voir en ligne" sur tous mes objets ce qui pose problème à mes rédacteurs pas trop expérimentés).
J'ai donc résolu de passer à la dernière svn, mais la mise à jour de la base ne se passe pas bien: dès la deuxième étape
ecrire/?exec=upgrade&reinstall=non
qui me dit
Action : mise à niveau de votre base SQL
Vous venez de mettre à jour les fichiers SPIP. Il faut maintenant mettre à niveau la base de données du site.
quand j'appuie sur "Valider", je me retrouve avec ecrire/Array qui bien entendu me donne un 404:
Not Found
The requested URL /SPIP/chantier/ecrire/Array was not found on this server.
Si je fais comme si de rien n'était, le site boitille avec des problèmes, par exemple:
Erreur(s) dans le squelette
1 <BOUCLE_documents_joints>()
Erreur SQL
0+documents.titre AS num, documents.date, documents.id_document, L2.mime_type, documents.titre, L2.titre AS type_document, documents.taille, documents.descriptif FROM spip_documents AS `documents` INNER JOIN spip_types_documents AS L2 ON ( L2.id_type = documents.id_type ) INNER JOIN spip_documents_rubriques AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant='oui') AND (L1.id_rubrique = 99) AND (documents.mode = 'document') ORDER BY num, documents.date
Unknown column 'documents.id_type' in 'on clause'
</BOUCLE_documents_joints>
Alors ma question: visiblement ma base n'a pas la bonne structure. Peut-être la base précédente était déjà endommagée, elle a peut-être raté une étape de màj. Y-aurait-il un moyen de la réparer, peut-on reprendre pas à pas les màj mysql?
Bon, je suis moins serein: j’ai essayé de mettre à jour un autre site avec des résultats similaires, cette fois ci sans filets:
Avec les squelettes dist de la dernière svn:
<BOUCLE_documents_joints>()
Erreur SQL
0+documents.titre AS num, documents.date, documents.id_document, L2.mime_type, documents.titre, L2.titre AS type_document, documents.taille, documents.descriptif FROM spip_documents AS documents INNER JOIN spip_types_documents AS L2 ON ( L2.id_type = documents.id_type ) INNER JOIN spip_documents_rubriques AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=‘oui’) AND (L1.id_rubrique = 7) AND (documents.mode = ‘document’) ORDER BY num, documents.date
Unknown column ‘documents.id_type’ in ‘on clause’
</BOUCLE_documents_joints>
Cela signifie que la base n’a pas été mise à jour correctement. Celui-ci pourtant était un site assez vanillia.
Donc, je réitère: comment dois-je faire pour que ma base soit dans le bon état, y-a-t’il un moyen de réparer une base qui a loupé un coche de mise à jour?