2016-03-02 16 views
1

首先爲了系統配置狀態,我有mysql服務器版本5.5.48並且有最新版本的mantle和moqui-framework,
我試圖配置moqui用mysql,我複製了連接器的運行時/ lib中 然後加入下列線MySQL配置到運行時/ CONF/MoquiDevConf.xml在moqui-1.6.1中,配置使用mysql並加載數據

<entity-facade crypt-pass="MoquiDefaultPassword:123456"> 
    <!-- add datasource elements here to configure databases --> 
    <datasource group-name="transactional" database-conf-name="mysql" schema-name="moqui"> 
    <inline-jdbc jdbc-uri="jdbc:mysql://127.0.0.1:3306/moqui?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8" 
       jdbc-username="testUser" jdbc-password="123456" pool-minsize="2" pool-maxsize="50"/> 
    </datasource> 
</entity-facade> 

上構建和運行負載,我得到這個錯誤 -

Loading entity data from [classpath://entity/BasicEntities.xml] 
--- 20:35:44.310 [   main] ERROR   org.moqui.impl.entity.EntityDbMeta 
SQL Exception while executing the following SQL [CREATE TABLE  moqui.ENUMERATION_TYPE (ENUM_TYPE_ID VARCHAR(255) CHARACTER SET utf8  COLLATE utf8_general_ci NOT NULL, DESCRIPTION VARCHAR(255) CHARACTER SET  utf8 COLLATE utf8_general_ci, LAST_UPDATED_STAMP DATETIME(3), CONSTRAINT  PK_ENUMERATION_TYPE PRIMARY KEY (ENUM_TYPE_ID)) ENGINE InnoDB CHARACTER  SET utf8 COLLATE utf8_general_ci]:  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 '(3), CONSTRAINT  PK_ENUMERATION_TYPE PRIMARY KEY (ENUM_TYPE_ID)) ENGINE InnoDB CH' at line  1 
--- 20:35:44.310 [   main] WARN  moqui.impl.context.TransactionFacadeImpl 
Rollback only not set on current transaction, status is  STATUS_NO_TRANSACTION 
--- 20:35:44.310 [   main] INFO   org.moqui.impl.entity.EntityDbMeta 

- 感謝您的幫助:)

回答

3

當前的MySQL配置(在MoquiDefaultConf.xml中)對日期時間列使用DATETIME(3)類型。這是最新MySQL的設置,因爲在特定版本(5.7 IIRC)之後,DATETIME類型默認不再具有毫秒值。不幸的是,在此之前的版本不支持指定亞秒精度,所以沒有設置可以同時適用於5.7版本和5.7版本。感謝Oracle!

您既可以使用較新版本的MySQL,也可以更改Moqui Conf XML文件,使其類型爲DATETIME而不是DATETIME(3)。您可以更改MoquiDefaultConf.xml文件,也可以使用運行時配置XML文件(如MoquiDevConf.xml,MoquiProductionConf.xml等)中的相同元素以及數據源設置來設置它。整個XML文件在運行時合併,因此您可以覆蓋運行時配置文件中的MoquiDefaultConf.xml文件中的任何內容。

+0

感謝@David爲您快速回復:) –

相關問題