在moqui-1.6.1中,配置为使用mysql并加载数据

在moqui-1.6.1中,配置为使用mysql并加载数据,mysql,moqui,Mysql,Moqui,首先,就系统配置状态而言,我有mysql服务器版本5.5.48,还有最新版本的mantle和moqui framework, 我试图将moqui配置为使用mysql,我将连接器复制到runtime/lib 然后将mysql配置的以下行添加到runtime/conf/MoquiDevConf.xml <entity-facade crypt-pass="MoquiDefaultPassword:123456"> <!-- add datasource elements h

首先,就系统配置状态而言,我有mysql服务器版本5.5.48,还有最新版本的mantle和moqui framework,
我试图将moqui配置为使用mysql,我将连接器复制到runtime/lib 然后将mysql配置的以下行添加到runtime/conf/MoquiDevConf.xml

<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>  

--感谢您的帮助:)

当前的MySQL配置(在MoquiDefaultConf.xml中)对日期时间列使用DATETIME(3)类型。这是最新MySQL的设置,因为在特定版本(5.7 IIRC)之后,DATETIME类型在默认情况下不再具有毫秒值。不幸的是,在此之前的版本不支持指定亚秒精度,因此没有适用于5.7之前和5.7之后版本的设置。谢谢甲骨文


您可以使用较新版本的MySQL,或者更改Moqui Conf XML文件,使其类型为纯DATETIME而不是DATETIME(3)。您可以更改MoquiDefaultConf.xml文件,或者使用运行时conf xml文件中的相同元素(如MoquiDevConf.xml、MoquiProductionConf.xml等)以及数据源设置对其进行设置。整个XML文件在运行时被合并,因此您可以覆盖运行时conf文件中MoquiDefaultConf.XML文件中的任何内容。

感谢@David的快速回复:)
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