一、该问题的重现步骤是什么?
因为牵扯一些老系统反新以及集成一些系统,系统一般都采用uuid,但是自己bladex自身的表是bigint所以同步数据就很纠结,重构很吃力,都是看到又问题,就写一个同路径的包覆盖掉磨人的
新版本出来之后,代码生成集成了baseentity,而且mybits-plus的baseserviceImpl自己实现了,如果没有或者不用同类型的权限字段会报错,有时候还需要自己从写一个,生成之后自己手动改为自己想要的baseentity、baseserviceImpl等
我还要稍微吐槽一下,可能是自己写的原因,因为网关引入了common包,导致common包不能导入一些maven依赖,如果引入了网关会报错,所以自己构建了一个新的common-biz,但是不知道为甚么,common-biz引了所有需要的包,但是还是有些@component还有@configuration这些不会启动加载,放在common里就没事,但是就是网关启动不了,boot版本没事
因为业务要求需要修改日志,但是日志也有同样的问题不启动加载,boot版本没事
二、你期待的结果是什么?实际看到的又是什么?
希望以后的版本可以修改一下id的问题,以及baseentity这种强制加入限制权限字段
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex cloud版本
1.旧版本的bladex主键是uuid,现在新版的主键都是雪花算法的长整型,uuid的都是老系统了,索引性能不高。
2.我们旧系统迁移也遇到这个问题了,你把uuid主机用雪化算法做个一一对应,把数据洗一遍就可以了,我们就是这么迁移的.
3.你要想改造成uuid的主键也是可以的,你把bladex-tool拉取下来,修改里面的mybatis-plus的主键策略就可以了,mybatis-plus支持uuid和雪化的
不推荐uuid做系统主键,后续数据量大会给性能带来较大影响。推荐楼上的做法,迁移的时候创建一个新的id字段,自动生成雪花id,然后主外键匹配,再做数据迁移。
如果数据量不大,对性能要求不高,不想迁移数据,那就需要修改bladex-tool,把BaseEntity的id策略改成uuid,并且把bladex的主键也改成uuid。
当然这些我们会放进考虑,看看后续是否可以出一个uuid和雪花转换的办法
扫一扫访问 Blade技术社区 移动端