springboot整合activit第二次启动报错

yannsPeng 2018-04-03 02:08:50
springboot第一次启动的时候可以正常创建表,第二次启动就开始报错。表已经存在,求解。



2018-04-03 14:06:08.230 INFO 8284 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.11
2018-04-03 14:06:08.391 INFO 8284 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/attence] : Initializing Spring embedded WebApplicationContext
2018-04-03 14:06:13.482 INFO 8284 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
2018-04-03 14:06:13.495 INFO 8284 --- [ main] o.activiti.engine.impl.db.DbSqlSession : performing create on engine with resource org/activiti/db/create/activiti.mysql.create.engine.sql
2018-04-03 14:06:13.497 INFO 8284 --- [ main] o.activiti.engine.impl.db.DbSqlSession : Found MySQL: majorVersion=5 minorVersion=5
2018-04-03 14:06:13.630 ERROR 8284 --- [ main] druid.sql.Statement : {conn-10001, stmt-20000} execute error. create table ACT_GE_PROPERTY (
NAME_ varchar(64),
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin
...全文
650 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lookAndSee 2018-09-21
  • 打赏
  • 举报
回复
ACT_FK_BYTEARR_DEPL 外键为大写,其表名用的小写,在linux下,是严格区分大小写的,所以每次启动都重复添加外键引起冲突。
解决办法:1.删除最先手工导入的 sql文件所创建的数据库中,小写的act_打头的表,重启项目;2. 重启项目后,springboot 自然创建出大写的表名,由此则无冲突。
lookAndSee 2018-09-21
  • 打赏
  • 举报
回复
activiti.mysql.create.engine.sql 其中默认表名为小写,而其外键使用的大写 ,形如:DROP TABLE IF EXISTS `act_ge_bytearray`;
CREATE TABLE `act_ge_bytearray` (
`ID_` varchar(64) COLLATE utf8_bin NOT NULL,
`REV_` int(11) DEFAULT NULL,
`NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`BYTES_` longblob,
`GENERATED_` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`ID_`),
KEY `ACT_FK_BYTEARR_DEPL` (`DEPLOYMENT_ID_`),
CONSTRAINT `ACT_FK_BYTEARR_DEPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `act_re_deployment` (`ID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;, 然后,linux下 Mysql是默认 区分大小写的。ACT_GE_PROPERTY
迷途的码农 2018-04-04
  • 打赏
  • 举报
回复
drop table if exists tablename; create table tablename()
xwn_2016 2018-04-04
  • 打赏
  • 举报
回复
看你是希望每次启动时都创建表还是表存在就不建表,可以相应的修改sql语句吧

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧