Flowable启动报错problem during schema upgrade&&couldn‘t upgrade db schema:

世上唯一不能复制的是时间,唯一不能重演的是人生,唯一不劳而获的是年龄。该怎么走,过什么样的生活,全凭自己的选择和努力。人生很贵,请别浪费!与智者为伍,与良善者同行。Flowable启动报错problem during schema upgrade&&couldn‘t upgrade db schema:,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1.错误信息

problem during schema upgrade, statement alter table ACT_RU_VARIABLE add column SCOPE_ID_ varchar(255)
java.sql.SQLSyntaxErrorException: Duplicate column name 'SCOPE_ID_'
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 
'flowableAppEngine': FactoryBean threw exception on object creation; nested exception is org.flowable
.common.engine.api.FlowableException: couldn't upgrade db schema: alter table ACT_RU_VARIABLE 
add column SCOPE_ID_ varchar(255)

原因
启动Flowable的时候数据库里面已经有flowable相关的数据表。但是项目还是去创建相关的数据表。原因是flowable运行后生成的表名都是大写。而MySQL检索的时候是区分大小写的。然后执行时发现2张表名一样,导致出现问题。
2.Mysql设置lower_case_table_names参数
lower_case_table_names 是mysql设置大小写是否区分和比较的参数。lower_case_table_names 默认为 0

0:表名字是存储为给定的大小,区分大小写的。
1:表名字存储在磁盘是小写的,比较的时候不区分大小写。
2:存储的时候是按照给定的大小写存储的,比较的时候是按照小写的方式比较。

查询参数信息:

show variables like 'lower_case_table_names';
select @@lower_case_table_names;

修改值:
1、修改文件my.cnf ,设置 lower_case_table_names = 1
linux如何设置my.cnf文件

查找Mysqld的安装目录
which mysqld
/usr/sbin/mysqld --help|grep 'my.cnf'
编辑my.cnf文件
lower_case_table_names = 1
重启MySQL

2、命令修改

set global lower_case_table_names =1;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/260349.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!