学习如何将DedeCMS文章模型中的内容迁移到新的自定义模型中是一项重要的技能,特别是在需要对网站结构进行调整时。以下是一个详细的步骤指南,帮助您完成这一任务。
假设原始栏目为文章模型,其栏目ID为5,新创建的模型ID为17(默认的文章模型ID为1,模型ID可以在内容模型管理页面左侧查看)。在数据库中,新模型的附加表名为dede_addon17(通常为dede_addon加新建模型的ID,如果不同,请根据实际情况替换SQL语句中的表名)。
第一步:备份数据库
INSERT INTO dede_addon17(aid,typeid,redirecturl,userip,body) SELECT aid,typeid,redirecturl,userip,body FROM dede_addonarticle where dede_addonarticle.typeid =5;
第二步:处理自定义字段
INSERT INTO dede_addon17(aid,typeid,redirecturl,userip,content) SELECT aid,typeid,redirecturl,userip,body FROM dede_addonarticle where dede_addonarticle.typeid =5;
通过对比可以明确如何将旧数据正确映射到新数据表中。
第三步:删除原栏目下的内容
DELETE FROM `dede_addonarticle` WHERE typeid =5;
第四步:更新关联模型
update dede_arctiny set channel=17 where typeid=5;
update dede_archives set channel=17 where typeid=5;
update dede_arctype set channeltype =17 where id =5;
至此,已经完成了将原文章模型下的内容转移到新的自定义模型的任务。
第五步:迁移其他栏目内容
update dede_addon17 set typeid=5 where typeid=6;
update dede_archives set typeid=5 where typeid=6;
update dede_arctiny set typeid=5 where typeid=6;
这一步是为了修改关联栏目,将原本调用ID为6的地方改为ID为5。
第六步:删除旧栏目
DELETE FROM dede_arctype WHERE id=6;
如果在后台的新模型栏目下未看到迁移来的文章列表,可在系统 - 系统错误修复中执行修复操作,并清除data/cache/listcache下的缓存文件(建议通过服务器或虚拟空间控制面板、FTP操作)。
遵循以上步骤,您可以顺利地将DedeCMS文章模型中的内容迁移到新的自定义模型中。