Jayce Piel a écrit :
Le 26 juil. 2004, à 15:42, Jayce Piel a écrit :
Bon, moi, de retour de Vacances, je vais avoir pas mal de choses à
regarder avec toutes ces modifs que vous avez faites en 2 semaines....
Bon, après quelques galères, j'ai réussi à m'en sortir, mais y'a des
trucs assez étranges à prendre en compte pour la mise à jour depuis une
0.31 vers une 0.4...
Peut-être m'y suis-je mal pris, mais voici comment j'ai fait...
J'avais une version installée qui correspondait à peu près à la 0.31.
Je mets de côté mon config.php et je l'efface de la hierarchie puis je
fais un cvs update. Je me rends compte que je n'ai plus à modifier le
config.php, ce qui correspond à ce que j'ai parcouru dans les nombreux
mails qui ont circulé depuis quelques semaines...
Bon, j'essaie de lancer un /update.php qui ne marche pas (ne fait rien
du tout)... Je me dis que ça doit être à cause du changement dans la
config.
Je vais alors sur la page de glpi et là, il me dit qu'il va configurer
glpi, soit. Tout se passe bien...
Le problème est que là il crée les nouvelles tables sans se soucier des
existantes, ce qui est ma foie assez logique.
Une fois cela fait, je lance donc un /update.php qui me dit que tout
s'est bien passé... Sauf que ce n'est pas le cas... Il n'a pas importé
les utilisateurs par exemple. Je n'ai pas pensé à vérifier le reste,
mais je pense qu'il ne doit rien faire si les tables préfixées existent
déjà...
Si je restore la sauvegarde de ma base d'avant la mise à jour mais que
je n'efface pas le config_db.php, je peux alors passer le script
update.php qui marche alors comme il faut (ou presque). Mais... Il est
ensuite impossible de changer la config (celle qui est stockée dans
glpi_config).
Le problème est donc que lors d'une mise à jour de 0.31 en 0.4a, il
faudrait :
- soit que le script d'update crée la nouvelle config comme le fait le
script install.php...
- soit que le script install.php vérifie si c'est une installation ou
une mise à jour pour lancer le script update.php au lieu de créer les
nouvelles tables.
Je suis actuellement (depuis ce matin) en train de travailler sur le/les
scripts d'update pour qu'il permette la mise a jour totale (c'est a dire
fichiers compris) depuis les autres version.
Jusqu'à maintenant il permettait seulement de mettre a jour le schéma de
la base de données.
Au passage juste une petite correction, il n'existe pas (pas encore) de
version 0.4a à l'heure ou je parle, c'est prévu pour bientot... mais
c'est pas pour tout de suite encore...
Pour l'instant les fichiers sur le cvs sont des fichiers "entre deux
versions" : la 0.31 et celle qui viendra apres (qui sera tres
certainement une 0.4).
Bref c'est logique que tout ne marche pas pile poil encore sinon la
version serait déjà officielle et packagée.
Quoi qu'il en soit la procédure suivie semble etre la bonne vue que
c'est ce que je suis en train d'automatiser.
Tout semble fonctionner correctement. j'espère ne rien avoir oublié.
Ca on l'espere, n'hesite pas à completer le bugtrack avec des eventuels
bugs qui traineraient, s'ils ne sont pas déjà référencés.
--
Bazile