erupt
erupt copied to clipboard
使用H2数据库因与数据库关键字同名而导致初次启动报错
版本情况
JDK版本:java version "17.0.1" 2021-10-19 LTS
erupt版本: 1.12.12
问题描述(包括截图)
-
基于页面 https://www.erupt.xyz/#!/doc 中快速部署章节的流程编写代码,但改用h2数据库,发现数据库初始化失败
-
堆栈信息
- 测试涉及到的文件(注意脱密)
根据错误信息,发现初始化语句中的字段value
与h2的一个关键字同名(参考:https://h2database.com/html/advanced.html):
create table e_upms_menu (
id bigint generated by default as identity,
create_by varchar(255),
create_time timestamp,
update_by varchar(255),
update_time timestamp,
code varchar(64),
icon varchar(255),
name varchar(255),
param varchar(2000),
sort integer,
status integer,
type varchar(255),
value varchar(255),
parent_menu_id bigint,
primary key (id)
)
目前尝试可行处理方法是在配置中设置忽略关键字,这样可以成功启动:
spring:
datasource:
url: jdbc:h2:file:./erupt;AUTO_SERVER=TRUE;NON_KEYWORDS=VALUE
platform: h2
username: sa
password:
driverClassName: org.h2.Driver
jpa:
show-sql: true
database-platform: org.hibernate.dialect.H2Dialect
generate-ddl: true
database: h2
但建议作者还是修复一下这个问题。