ThinkPHP3.2数据字段缓存造成的bug

前几天,数据自动同步出现了bug,使用的框架是tp3.2,一条本该带条件的更新语句,结果不带条件的帮我把数据全部更新了。辛亏影响的用户数据才一百多,手动修复了一下午。

又去翻了一下文档,发现文档有写,不能说是tp的bug。只能说是没认真看文档。

看了一下源码,tp在操作数据的时候,会把不存在的字段自动忽略掉。

正式环境默认开启数据字段缓存,而缓存机制是每个模型对应一个字段缓存文件(注意:并非每个数据表对应一个字段缓存文件),命名格式是:数据库名.数据表前缀+模型名(小写).php

因为之前没留意这个,数据库里弄了两个表app_dc_video和app_ky_video,表是不同的模块使用的,结构和数据都不一样,第一个是表是另一个同事后来加的,我在我的代码模块里命名了videoModel,他后来也在他代码模块用了videoModel,两个表的字段缓存名字是一样的,所以肯定有一个会覆盖另一个。导致数据更新出现了bug。

恩,故事告诉我们,使用框架一定要通读文档。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,387评论 2 89
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,092评论 25 708
  • 入夜,静悄悄,房间里漆黑一片,床上小姑娘安然熟睡,只有窗帘隐隐透着点朦胧的光。写字桌上摊着一本书,一个笔记本。是小...
    国宴阅读 542评论 1 0
  • 贤哥还在肚里三个月时我们就离开老屋住进下泡水的新房里。如今贤哥已快两周岁,我们第一次再住老屋。时间过得真快,在老屋...
    燕纪事阅读 356评论 0 1
  • ag-Grid 是一个企业级的 JavaScript 数据网格。 ag-Grid 的目的是提供可用于构建企业级应用...
    OSC开源社区阅读 1,939评论 0 4

友情链接更多精彩内容