ACTIVITI创建23张表报错,后头看一下MySQL,只是一种排错

博主在将本地Win环境的程序迁移到Linux时遇到了数据库初始化错误。经过排查,发现是由于sql_mode设置导致的导入错误。通过修改sql_mode和删除相关视图解决了导入问题。之后因配置`spring.activiti.database-schema-update`为`false`导致启动报错,改为`true`后,又遇到数据库大小写敏感问题,调整MySQL配置`lower_case_table_names=1`解决了该问题,最终成功运行。
org.activiti.engine.ActivitiException: no activiti tables in db. set <property name="databaseSchemaUpdate" to value="true" or value="create-drop" (use create-drop for testing only!) in bean processEngineConfiguration in activiti.cfg.xml for automatic schema creation
 at org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:652)
 at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1094)
 at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25)
 at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)
 at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)

折腾一天,本地与服务器WIN环境没问题,上传Linux开始报错,网上冲浪一下午,尝试一下午,无果,还是自己排除原因吧,记录一下。

经历:

用Navicat 在服务器导出已录入好的sql文件,拉到服务器,上传。报错

Column count doesn't match value count at row 1

原因:

sql_mode问题,修改sqld文件

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

因为有关联,所以drop并不是很好使,手动删除所有文件,清除【视图】文件

导入成功!

再次运行 -jar .jar包

报错

problem during schema create,statement create sequence act_evt_log_seq

嗯?没有数据库么?

排查原因---创建错误,那就先删除再创建 drop-create,还是报错

打开自己的yml

spring.activiti.database-schema-update=false

参考scheme配置属性

database-schema-update:数据库更新策略,其取值有如下四种:

        (1)false:默认值,a.ctiwiti在启动时,会对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常,(生产环境常用)

        (2)true:actixiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。(开发时常用)
        (3)create_drop:在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表),(单元测试常用)
        (4)drop_create:在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)
————————————————
版权声明:本文为CSDN博主「大鱼撸代码」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NIETT_/article/details/120550562

我是导出正在运行中程序的sql,因此已经完成创建了,不需要对比,

改变配置

spring.activiti.database-schema-update=true
#spring.activiti.database-schema-update=drop-create

执行后报错,无法打开 ACT_EVN……

怎么是大写?那就把mysql设置忽略大小写

lower_case_table_names=1

重载配置,再次导入数据库

运行。OK,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值