• thinkphp---数据表更新字段开发模式可更新生产模式不能更新!


    这里认为是坑的主要原因:这个问题我调试了一天,才发现是缓存的问题。

    问题原因:在做一thinkphp的项目,在后期要进行修改。修改的时候,数据表里面添加了两个字段,然后前台修改模板,将添加的字段提交上去。发现:提交的数据是有这两个字段,但是更新数据表的时候,这两个字段没有更新。在经过各种调试,打印查看,预览执行sql等等操作。都没有发现问题。

    后来才想到可能市生成模式和开发模式不同(因为前面的调试都是在生成模式下进行调试的)。现在改为调试进行调试。

    发现的问题就是:在调试模式下进行添加时能够进行添加成功的,但是只要切换到生产模式发现就出错。(第一反应就是缓存的问题)

    接下来做了一个错误的操作:在生成模式下将Runtime文件夹给删除了(导致:有些页面就不能正常访问)

    这个的解决办法:将生成模式调整为开发模式,重新访问就好。

    问题解决:将生成模式调整为开发模式,然后删除缓存文件夹Runtime,刷新后就可以看到问题已经解决。

    问题原因:在生成模式下:thinkphp将数据表的结构都进行了缓存。具体的位置: Runtime / Data / _fields  这些对应的就是你的数据库表结构(序列化之后进行缓存的)。

    所有数据表的结构信息都已经被缓存起来了的,而且这个缓存文件是在数据表被创建时创建的,而后来更新表字段后,这个数据表结构的缓存文件并没有被更新。这个是最根本的原因。

    找到问题原因就好:考虑到更新过,切换到调试模式,删除Runtime整个目录。重新访问之后,再切换到生产模式。就会看到这些文件被重新缓存起来。

    问题完美解决。

  • 相关阅读:
    使用集合组织相关数据
    引用类型传递 ListView展示数据
    关于ArrayList线程安全解决方案
    Java异常错误的面试题及答案
    希尔排序
    Struts2的简单认识
    新闻发布系统
    了解vo pojo javabean dto
    Spring MVC 笔记及简单了解
    jsp的九大内置对象
  • 原文地址:https://www.cnblogs.com/e0yu/p/9056872.html
Copyright © 2020-2023  润新知