首页 » Ecstore » Ecstore中的dbschema缓存文件存放位置以及文件名生成规则

Ecstore中的dbschema缓存文件存放位置以及文件名生成规则

7260 2

Ecstore每一个app下都有dbschema文件,用于结构化数据表,通常在执行cmd update时,会先检查dbschema下的文件是否有改动,有的话,会根据改动update表结构,并且生成表结构的缓存文件,但是也有蛋疼的时候,执行cmd update时,数据表结构确没有得到更新,官方也承认有这种BUG存在的情况,一直没有给予彻底解决。tiandi没有用update机制,随便瞎猜测是dbschema缓存文件没有清除导致的这种BUG。

那么它的缓存文件存在哪呢?

Ecstore的缓存文件有的存在php里的tmp目录,有的存在/data下,各种机制,各种cache,各种kvstore,反正你要是不具体深入了解的话,肯定会抓狂的。这里,dbschema的缓存文件就存在/data/kvstore/tbdefine下,切换到该目录下,能看到许多MD5命名的php文件,如何找到对应的文件名呢?用下面的代码即可找到,

//DB_PREFIX为config里的DB_PREFIX
//KEY的算法是,该dbschema的表名去除前缀后,再去除中间的连接符号所得的字符串,如表名为sdb_gift_card,则取值giftcard。
$file = ROOT_PATH."data/kvstore/tbdefine/".md5(trim(DB_PREFIX) . "tbdefine" . trim(KEY)).".php";

这样找到文件后,就可以手动删除dbschema的缓存文件,问题也就迎刃而解了。

另外你也可以和tiandi一样做成界面来删除该文件。

kv_dbschema_ecstore

文章评分4次,平均分4.8

本文原始地址:https://www.tiandiyoyo.com/2015/11/where_is_the-dbschema_cache_file_for_ecstore/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


2 Comments

  1. 可以强制更新,–force-update-db

  2. Faris :

    写的很不错~赞一个~~~~

载入分页评论...