mvt91, a french user, has brought to my attention a possible improvement for the setup.sql file.
I am not qualified here so I’ll try to give the best translation I can for his message. He checked all ALTER clauses, and found that there was a problem with the table user_role.
Apparently he says the table description does not match the alter clause and causes an error :
Create table : ... (line 514 )
`delete_module` int(1) NOT NULL DEFAULT 0,
`exec_module` int(1) NOT NULL DEFAULT 0,
Alter table :
ALTER TABLE `{PREFIX}user_roles`
ADD COLUMN `new_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `edit_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `save_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `exec_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `delete_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `view_eventlog` int(1) NOT NULL DEFAULT ’0’, ...
Line 713 and following
He says by suppressing the alter clauses he fixed his problem installing MODx 0.9.1 local with WAMP. He also says adding an "after column" to those ALTER clause would prevent inserting a record twice.
I hope this makes sense to you, since he doesn’t speak english and I don’t speak MySQL
Just in case, a copy of his personnal message :
Bonjour,
Après quelques essais (installation sur free infructueuse et sur wamp idem), j’ai procédé à quelques retouches sur setup.sql.
Le mode mise à jour semble inactif par défaut dans l’installation. j’ai vérifié tous les alter clause. Elles sont correctement reproduites sauf une dans la table user_role ou la description de la table n’est pas conforme à l’alter ce qui provoque une erreur lors du remplissage initial :
Create table : ... (ligne 514 )
`delete_module` int(1) NOT NULL DEFAULT 0,
`exec_module` int(1) NOT NULL DEFAULT 0,
...
Alter table :
ALTER TABLE `{PREFIX}user_roles`
ADD COLUMN `new_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `edit_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `save_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `exec_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `delete_module` int(1) NOT NULL DEFAULT ’0’,
ADD COLUMN `view_eventlog` int(1) NOT NULL DEFAULT ’0’, ...
Ligne 713 et suivantes.
En supprimant les alter, l’installation est correcte sous wamp.
Concernant les clauses "alter table", j’ai oublié de préciser que pour les users_role par exemple, il n’est pas fait mention de la clause "after column" ce qui conduit à ajouter des colonnes en plus (doublon).
Il est bien entendu possible de laisser les clauses "alter table add column (first/after)", sous réserve de préciser la clause "after colomn".
A priori, l’option "ignore" de la clause "alter table" ne concerne pas cet aspect. De plus, elle est spécifique à Mysql.