反馈最近出现一个比较严重的问题,我大概模拟下场景:
我们有一个客户表customer ,里面有两个字段:customer_name,customer_id,remark,
sql文件有一个查询:
#namespace("demo.customer")
#sql ("selectAll")
select * from `customer`
#end
#end
service有一个方法:
List<Record> records = Db.find(Db.getSql("demo.customer"));
Record record = records.get(0);
Customer customer = new Customer()._setAttrs(records.get(0).getColumns());
customer.update();
方法是正常响应的,然后执行了sql脚本更新customer表,新增一个remark1字段,然后再调用这个方法,
new Customer()._setAttrs(records.get(0).getColumns()) 这行 就会提示报错:
com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: "remark1"
查询报错是 model 的 setAttrs方法报异常。
最近生产就是版本上线的时候执行了sql脚本,客户表新增了两个字段,导致客户相关功能接口异常,服务不可用,影响很大。
JFinal 现在版本是:3.8
这种情况是可以复现的,想问下大家有没有碰到这种情况,有没有好的解决方案,因为对生产影响很多,急需要方案解决,
不然每次更新脚本都要暂停生产服务,影响太大了,谢谢大家