金仓老旧项目改造-16-[vibe编程vlog]
今天工作app不支持kingbase金仓的修改并不麻烦现在看只是要改一下Druid的配置类DruidConfig就可以了增加以下修改即可// KingBase8 基于 PostgreSQLDruid WallFilter 不识别 kingbase8 类型需单独配置 if (filters ! null filters.contains(wall)) { // 移除wall过滤器因为我们将单独配置 String[] filterArray filters.split(,); StringBuilder newFilters new StringBuilder(); for (String filter : filterArray) { if (!wall.equalsIgnoreCase(filter.trim())) { if (newFilters.length() 0) { newFilters.append(,); } newFilters.append(filter.trim()); } } druidDataSource.setFilters(newFilters.toString()); // 单独配置WallFilter WallFilter wallFilter new WallFilter(); wallFilter.setDbType(postgresql); druidDataSource.setProxyFilters(Collections.singletonList(wallFilter));那这个wallFilter是做什么的呢在druid中wallfilter是用于数据库保护的主要的功能就是限制sql注入恶意删除或批量查询等对数据库造成影响的操作。因为它本身是不识别kingbase的所以需要手工增加这部分的代码。并且kingbase和postgresql是一致的所以增加的时候就用postgresql就可以了在使用kingbase的时候也是把他简单的理解为pg就行了。可能有一些不同但是目前我的接触中还不涉及如有涉及了我再补充。app启动的时候会报使用老环境的信息已经修改了nacos中的配置有可能是文件使用错了。这个问题很简单已经处理好了说一下原因吧是因为我马虎了虽然把nacos的配置迁移到了我的本地环境但是内容没有修改所以从nacos获取的配置文件中还指向了之前的服务器因此出现了这个问题。也是提醒自己修改的时候不要着急慢慢做要了解自己每一步都在做什么。避免出错。这块还有个注意事项搞不懂这什么在老环境下是服务名就可以了但是在新环境下要服务名.yaml。如果没有的话就不行。sql报错问题处理哎我现在的作用也就是写写记录了查bug的活基本都交给ai了。真的是个好帮手呀。问题很快就找到了这次不是代码的问题还是配置的问题因为改nacos里的数据库配置只改了数据库的地址但是defaultschema没有修改还用的另一个项目的shcema所以报找不到表的错误修改后再试一下问题成功解决了。今天就到这里了因为今天领导都不在能摸一会儿还是要把握的鱼来该摸直须摸莫待无鱼空余恨。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2546919.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!