md,半夜两点盯着发白的首页,脑子里就一个想法:我怎么就管不住这手呢!固化字段这玩意,听名字就知道动不得,可我偏要试试什么叫“删库到跑路”的前置剧情。
事情是这样的,接了个老站维护的活儿,用的是祖传的DedeCMS 5.7。看着后台模型管理里一堆像 dede_ 开头的默认字段(比如dede_addonarticle里那些),越看越不顺眼,觉着它们又占地方又用不上还影响我新加字段的排序(该死的强迫症)。寻思着,这不就是数据库里一张表嘛,直接进phpMyAdmin给它ALTER TABLE DROP COLUMN了不就完事了?
哦豁,这一删,才是噩梦的开始。前台文章页直接500错误,后台点内容管理就报“字段不存在”的红字。那一瞬间血压就上来了,因为DedeCMS这老古董,它的程序和模板标签是深度绑定这些内置字段的,你删掉的不是一个字段,是把程序的一条胳膊给卸了!
凌晨三点啊兄弟,我抽了三根烟才冷静下来,开始满世界找备份。如果你也蠢蠢欲动,听我一句劝:DedeCMS的固化字段,尤其是系统核心模型(如文章、图集)里的,千万别删! 它们不是“没用”,而是系统的骨架。你想“清理”的唯一安全方法,是去模型管理里,把你自己添加的字段删掉,系统自带的,碰都别碰。
那如果已经手贱了怎么办?(别问我为什么这么熟练)唯一的救赎之路:用备份还原数据库。没有备份?那你可能得去翻源码,找到对应的数据表结构(.sql文件),把那个字段的CREATE TABLE语句找出来,手动在数据库里加回去。这个过程极度折磨,这里有份保命文档,是当年一位大哥留下的血泪笔记,关键时刻能捞你一把。记住,搞老系统,任何改动前,备份!备份!备份! 不然你就会像我现在一样,用爱发电到天亮,就为了给昨晚的自己擦屁股。
