Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用H2数据库因与数据库关键字同名而导致初次启动报错 #251

Open
sineatos opened this issue May 9, 2024 · 0 comments

Comments

@sineatos
Copy link

sineatos commented May 9, 2024

版本情况

JDK版本:java version "17.0.1" 2021-10-19 LTS
erupt版本: 1.12.12

问题描述(包括截图)

  1. 基于页面 https://www.erupt.xyz/#!/doc 中快速部署章节的流程编写代码,但改用h2数据库,发现数据库初始化失败

  2. 堆栈信息

image

  1. 测试涉及到的文件(注意脱密)

根据错误信息,发现初始化语句中的字段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

但建议作者还是修复一下这个问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant