2020-11-30 12:32
@杜福忠 所有的.update()和.save 也都加上.use(DbKit.MAIN_CONFIG_NAME).
2020-11-30 12:30
@杜福忠 _MappingKit.mapping(arp); 和 com.kaochang.config.model._MappingKit.mapping(arpKC);两个库有相同的表名,但是字段不一致,可以确定没有注册错误和引错包的可能!改表名可能是最方便的解决办法,但是现在线上在用,还是打算先把所有的连库都加上use,再看是否解决了这个问题
2020-11-30 11:54
@杜福忠 找到问题了 对从库执行save或update方法之后,再调默认的数据源就会报错,但又不是所有主库查询都报错,现在只能把所有的DB. 都要指定数据源,加上use(“默认”)这种方式来改,这样改工作量巨大,不知道改完会不会又有新的问题,还有原先主库的model.save和model.update是不是也要改成model.use("moren").save()
2020-11-30 11:15
@杜福忠 估计问题出在 model.save()和 model.update()这里,没有指定数据源,是否子数据源不能直接用update和save
2020-11-30 09:32
@杜福忠 我用默认的查询主库的方式(即不加configName),系统拿到SQL却是去从库里面查,不知道其他人有没有遇到过这种问题
2020-11-30 09:24
@杜福忠 上面贴的SQL语法没有问题,现在能确定错误是因为查询语句运行在另一个库报的错,那个库的从库,而我调查询的方式是主库,这个也是之前的老接口
2020-11-30 09:02
@杜福忠 一直报这个错误,我把SQL贴出来java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'o.buyer' in 'where clause' SQL:SELECT od.* FROM order_detailed od
LEFT JOIN `order` o ON o.order_id=od.order_id
WHERE o.state=1
AND o.buyer = #para(idstr)
AND (od.deduction * 100) > 0
其中deduction 是字符串的金额格式,这个方法在服务器启动以后短时间内可以正常访问,这里一报错,其他很多查询也会跟着报错找不到表
2020-11-28 16:15
@杜福忠 请问如果使用了Kit.MAIN_CONFIG_NAME常量来设置主配置,主数据源仍然可以省略configName吗