Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Problème jacl2 lors de la mise à jour Jelix de v1.2.8 vers v1.3.2

Posted by Martus on 07/06/2012 17:23

Bonjour,

Il s'agit d'un site opérationnel depuis un moment en Jelix v1.0.4 et dont le but est de le faire passer en Jelix 1.3.2 avant de le faire évoluer fonctionnellement.

Il a donc été successivement mis à jour vers Jelix v1.1.12 — en suivant http://docs.jelix.org/fr/manuel-1.1/inst(..) —, puis vers Jelix v1.2.8 — en suivant http://docs.jelix.org/fr/manuel-1.2/inst(..) —, sans trop de difficultés.

La dernière étape, consiste en la mise à jour vers Jelix v1.3.2 — en suivant http://docs.jelix.org/fr/manuel-1.3/inst(..) —, pour laquelle l'erreur suivante est obtenue lors de la dernière étape :

MacMartus:install martus$ pwd
/Users/martus/Sites/jelix/jeux-serieux-odonto/jeux-serieux-odonto/install
MacMartus:install martus$ php installer.php 
Installation start..
[notice] Installation starts for the entry point index
All modules dependencies are ok
Module jelix upgraded to the version 1.3pre.1753
Module jelix upgraded to the version 1.3pre.1754
Module jelix upgraded to the version 1.3pre.1760
Module jelix upgraded to the version 1.3pre.1871
Module jelix upgraded to the version 1.3pre.1919
Module jelix upgraded to the version 1.3b2pre.1959
Module jelix upgraded to the version 1.3.2
[error] An error occured during the installation of the module jacl2db: Erreur dans la requête (Table 'jeux-serieux-odonto.jacl2_group' doesn't exist(ALTER TABLE jacl2_group CHANGE `code` `code` VARCHAR(50) NOT NULL))
Installation ended.

Effectivement, je n'ai pas mis en place l'utilisation de jAcl2 pour le moment (utilisation recommandée mais pas obligatoire si j'ai bien compris) de sorte que les tables correspondantes — jacl2_group en l'occurrence — n'existent pas dans la BD.

Puis, en lisant la partie du manuel Jelix 1.3 consacrée à jAcl2, j'ai essayé, en suivant http://docs.jelix.org/fr/manuel-1.3/droi(..) de créer les tables en question, ce qui m'a donné une autre erreur (qui provient peut-être du fait que la migration vers 1.3 n'est pas correctement terminée) :

MacMartus:install martus$ cd ..
MacMartus:jeux-serieux-odonto martus$ php cmd.php installmodule jacl2db

[notice:1]	Undefined offset: 1
[error] An error occured during the installation of the module jacl2db: Erreur dans la requête (Table 'jeux-serieux-odonto.jacl2_group' doesn't exist(ALTER TABLE jacl2_group CHANGE `code` `code` VARCHAR(50) NOT NULL))
[warning] Installation/upgrade is aborted for the entry point index

Je me tourne donc vers vous pour savoir comment avancer dans la résolution de ce problème. Je précise que le fichier profiles.ini.php créé lors de cette migration contient la séquence de ligne suivante (dont je me demande si elle n'indique pas que jAcl2 est utilisé alors que ce n'a pas été le cas jusqu'ici) :

jacl2_profile=jeux-serieux-odonto
[jdb:jeux-serieux-odonto]
driver=mysql
persistent=on
force_encoding=on

Pour compléter, le fichier defaultconfig.ini.php contient dans la section [modules] la ligne jacl2db.access=1 et le fichier installer.ini.php contient lui les lignes suivantes dans la section [index] :

jacl2db.installed=1
jacl2db.version=1.2
...
jacl2db.version.date=2010-12-03

Merci d'avance pour vos lumières.

  [Opened] Problème jacl2 lors de la mise à jour Jelix de v1.2.8 vers v1.3.2

Reply #1 Posted by laurentj on 07/08/2012 10:32

Bonjour,

Effectivement, je n'ai pas mis en place l'utilisation de jAcl2 pour le moment (utilisation recommandée mais pas obligatoire si j'ai bien compris)

Si tu n'utilises pas jacl2db, pourquoi cherches tu à résoudre le problème en l'installant ?

Désactive le module tout simplement. Note qu'il est requis pour faire fonctionner jacl2db_admin, donc il faut aussi désactiver celui là.

Pour le désactiver, met jacl2db.access=0 dans la config, et supprime les lignes le concernant dans installer.ini. Fait pareil avec jacl2db_admin si c'est le cas. Et relance l'install.

Si tu tiens à garder jacl2db, ça va pas être simple de corriger tout ça. faut savoir d'abord d'où ça vient.

j'ai essayé, en suivant http://docs.jelix.org/fr/manuel-1.3/droi(..) de créer les tables en question,

tu a certainement alors lancé la commande installmodule ? mais dans ce cas, il faut que le module soit désactivé, sinon il tente plutôt une mise à jour, plutôt qu'une réinstallation complète. D'où la même erreur SQL.

  [Opened] Problème jacl2 lors de la mise à jour Jelix de v1.2.8 vers v1.3.2

Reply #2 Posted by Martus on 07/09/2012 12:08

Bonjour,

Je pensais simplement que l'installation de jacl2db pourrait résoudre le problème (et que cette installation était possible même s'il n'était pas utilisé). Je l'installerai sans doute ultérieurement, après étudié sa documentation, et migrerai le code en conséquence.

Merci pour vos instructions de désactivations du module jacl2db, la commande d'installation a alors parfaitement marché. Je vous signale juste que j'ai dû supprimer la ligne suivante du fichier www/index.php, l'erreur étant facilement compréhensible vu le nouvel application.init.php (qui procède déjà à ce require):

require_once ('../../lib/jelix/init.php');

Cordialement.

 
Page
  1. Problème jacl2 lors de la mise à jour Jelix de v1.2.8 vers v1.3.2