数据相关
# 数据库异常
# 字段没有找到
Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "xxxx"; SQL statement:
1
出现原因可能是版本会退,还原低版本数据。造成新版程序需要的字段在数据库中不存在。
解决办法:
- 在执行启动命令后填参数
--rest:load_init_db
sh /xxxx/Server.sh restart --rest:load_init_db
1
- 手动删除数据目录里面的数据库初始化记录文件
路径为:
${Jpom数据目录}/db/execute.init.sql.log
文件后重新启动
# 无法正常启动,数据无法链接
出现原因大部分为非正确停止程序造成 h2 数据库文件损坏
特别提醒:建议在重启服务器前先关闭服务端,尽量不使用 kill -9 xxx
来关闭服务端
解决办法:
- 【推荐】从备份恢复(系统默认每天备份一次)
- 找到数据库备份文件 路径为:
${Jpom数据目录}/db/backup/xxx.sql
文件名为时间建议使用最后一次备份文件 - 将
${Jpom数据目录}/db/
整个目录备份后删除 - 重启服务端
- 到系统管理->数据库备份 中去上传 sql 文件恢复
- 找到数据库备份文件 路径为:
- 尝试自动恢复(能恢复到最后状态的数据)
- 在执行启动命令后填参数
--recover:h2db
sh /xxxx/Server.sh restart --recover:h2db
- 此方法不一定成功,或者可能出现恢复后的数据不完整(恢复后需要检查数据是否完整)
- 在执行启动命令后填参数
帮助我们改善此文档 (opens new window)
上次更新: 2023/09/20, 13:11:05