在Broadleaf安装中无法在mysql中创建表

时间:2019-05-28 07:53:46

标签: java mysql hibernate broadleaf-commerce

我正在尝试建立连接了MySQL数据库的本地阔叶演示站点环境。我已经按照文档配置了所有MySQL连接。

我在演示站点目录中运行了以下命令 SiriKit,然后在运行命令mvn clean install的admin目录中,出现以下异常。另外,没有创建几个表,并且MySQL语法有错误。请查看以下错误。我检查了创建表的本地数据库。但是错误中提到的表在数据库中不存在。

这是最初的例外情况

mvn spring-boot:run

之后,某些表由于语法错误而无法创建

java.sql.SQLSyntaxErrorException: Unknown table 'system_sequences' in information_schema
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1218) ~[mysql-connector-java-8.0.16.jar:8.0.16]

另一个异常如下所示

o.h.cache.internal.StandardQueryCache    : HHH000248: Starting query cache at region: org.hibernate.cache.internal.StandardQueryCache
org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000227: Running hbm2ddl schema export
org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000389: Unsuccessful: create table BLC_CATEGORY (CATEGORY_ID bigint not null, ACTIVE_END_DATE timestamp, ACTIVE_START_DATE timestamp, ARCHIVED char(255), DESCRIPTION varchar(255), DISPLAY_TEMPLATE varchar(255), EXTERNAL_ID varchar(255), FULFILLMENT_TYPE varchar(255), INVENTORY_TYPE varchar(255), LONG_DESCRIPTION longvarchar, META_DESC varchar(255), META_TITLE varchar(255), NAME varchar(255) not null, OVERRIDE_GENERATED_URL boolean, PRODUCT_DESC_PATTERN_OVERRIDE varchar(255), PRODUCT_TITLE_PATTERN_OVERRIDE varchar(255), ROOT_DISPLAY_ORDER numeric, TAX_CODE varchar(255), URL varchar(255), URL_KEY varchar(255), DEFAULT_PARENT_CATEGORY_ID bigint, primary key (CATEGORY_ID))
 org.hibernate.tool.hbm2ddl.SchemaExport  : 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 'longvarchar, META_DESC varchar(255), META_TITLE varchar(255), NAME varchar(255) ' at line 1
 org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000389: Unsuccessful: create table BLC_CMS_MENU_ITEM (MENU_ITEM_ID bigint not null, ACTION_URL varchar(255), ALT_TEXT varchar(255), CUSTOM_HTML longvarchar, LABEL varchar(255), SEQUENCE numeric, MENU_ITEM_TYPE varchar(255), MEDIA_ID bigint, LINKED_MENU_ID bigint, LINKED_PAGE_ID bigint, PARENT_MENU_ID bigint, primary key (MENU_ITEM_ID))
 org.hibernate.tool.hbm2ddl.SchemaExport  : 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 'longvarchar, LABEL varchar(255), SEQUENCE numeric, MENU_ITEM_TYPE varchar(255), ' at line 1
 org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000389: Unsuccessful: create table BLC_CUSTOMER_PAYMENT_FIELDS (CUSTOMER_PAYMENT_ID bigint not null, FIELD_VALUE longvarchar, FIELD_NAME varchar(255) not null, primary key (CUSTOMER_PAYMENT_ID, FIELD_NAME))
 org.hibernate.tool.hbm2ddl.SchemaExport  : 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 'longvarchar, FIELD_NAME varchar(255) not null, primary key (CUSTOMER_PAYMENT_ID,' at line 1

最后,我看到此异常,然后生成失败

org.hibernate.tool.hbm2ddl.ImportScriptException: Error during statement execution (file: 'config/bc/sql/demo/load_catalog_data.sql'): INSERT INTO BLC_CATEGORY (CATEGORY_ID,DESCRIPTION,NAME,URL,ACTIVE_START_DATE,DISPLAY_TEMPLATE,ROOT_DISPLAY_ORDER, OVERRIDE_GENERATED_URL) VALUES (2001,'Home','Home','/',CURRENT_TIMESTAMP, 'layout/homepage', -5.000000, FALSE)
at org.hibernate.tool.hbm2ddl.SchemaExport.importScript(SchemaExport.java:451) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:378) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]

Caused by: java.sql.SQLSyntaxErrorException: Table 'broadleaf.blc_category' doesn't exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1355) ~[mysql-connector-java-8.0.16.jar:8.0.16]
at com.mysql.cj.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2128) ~[mysql-connector-java-8.0.16.jar:8.0.16]

有人可以指出我正确的方向来使这个建造成功吗?

1 个答案:

答案 0 :(得分:0)

此日志消息是关键:

  

java.sql.SQLSyntaxErrorException:information_schema中的未知表'system_sequences'

system_sequences是特定于HSQL的东西。通常,这意味着Hibernate仍配置为使用HSQL方言。

switching to MySQL上的文档表明,请确保您使用MySQL5InnoDBDialect进行切换:

blPU.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
blSecurePU.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
blCMSStorage.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect