AnsweredAssumed Answered

Mauvais Hibernate.Dialect pour MySQL 6 ?

Question asked by jaxofun on Jun 10, 2009
Latest reply on Jun 11, 2009 by jaxofun
Bonjour.

Je viens de tenter l'installation d'Alfresco 3 avec MySQL Server 6.0.

J'ai obtenu, dans un premier temps une erreur lors de l'exécution du script AlfrescoSchemaCreate à cause des "type=InnoDB" dont l'utilisation est dépréciée et apparemment supprimée depuis la version 6.0 de MySQL :
16:08:14,839 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Executing database script D:\Alfresco\AlfrescoLabs\tomcat\temp\Alfresco\AlfrescoSchemaCreate-org.hibernate.dialect.MySQLInnoDBDialect-105798221308386296.sql (Generated).
16:08:14,839 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Statement execution failed:
   SQL:     create table JBPM_ACTION (
        ID_ bigint not null auto_increment,
        class char(1) not null,
        NAME_ varchar(255),
        ISPROPAGATIONALLOWED_ bit,
        ACTIONEXPRESSION_ varchar(255),
        ISASYNC_ bit,
        REFERENCEDACTION_ bigint,
        ACTIONDELEGATION_ bigint,
        EVENT_ bigint,
        PROCESSDEFINITION_ bigint,
        TIMERNAME_ varchar(255),
        DUEDATE_ varchar(255),
        REPEAT_ varchar(255),
        TRANSITIONNAME_ varchar(255),
        TIMERACTION_ bigint,
        EXPRESSION_ text,
        EVENTINDEX_ integer,
        EXCEPTIONHANDLER_ bigint,
        EXCEPTIONHANDLERINDEX_ integer,
        primary key (ID_)
    ) type=InnoDB
   Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 22
   File: D:\Alfresco\AlfrescoLabs\tomcat\temp\Alfresco\AlfrescoSchemaCreate-org.hibernate.dialect.MySQLInnoDBDialect-105798221308386296.sql
   Line: 23
16:08:14,855 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema auto-update failed
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 22
Afin de palier à cette erreur, j'ai corrigé dans les fichiers custom-hibernate-dialect.properties et hibernate-cfg.properties, dans lesquels j'ai remplacé "hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect" par "hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect". Et j'ai renommé le répertoire "\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\activities\org.hibernate.dialect.MySQLInnoDBDialect" en MySQL5InnoDBDialect. Cela à permis de corriger le problème.

Cependant j'obtiens une nouvelle erreur à cause du second script AlfrescoSchemaUpdate qui tente de créer des index qui ont déjà été créés dans le premier script … ??? :
D:\Alfresco\AlfrescoLabs\tomcat\temp\Alfresco\AlfrescoSchemaCreate-org.hibernate.dialect.MySQL5InnoDBDialect-2662860700936994803.sql (Generated).
16:25:29,986 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Executing database script D:\Alfresco\AlfrescoLabs\tomcat\temp\Alfresco\AlfrescoSchemaUpdate-org.hibernate.dialect.MySQL5InnoDBDialect-605448763934064023.sql (Copied from classpath:alfresco/dbscripts/create/2.2/org.hibernate.dialect.MySQL5InnoDBDialect/AlfrescoPostCreate-2.2-MappedFKIndexes.sql).
16:25:30,002 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Statement execution failed:
   SQL: CREATE INDEX fk_alf_ace_auth ON alf_access_control_entry (authority_id)
   Error: Duplicate key name 'fk_alf_ace_auth'
   File: D:\Alfresco\AlfrescoLabs\tomcat\temp\Alfresco\AlfrescoSchemaUpdate-org.hibernate.dialect.MySQL5InnoDBDialect-605448763934064023.sql
   Line: 12
16:25:30,002 ERROR [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema auto-update failed
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate key name 'fk_alf_ace_auth'
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

Quelqu'un sait-il à quoi cela est due et comment le corriger ? Merci

Outcomes