织梦更换内容模型后文章不显示无损迁移数据_dedecms教程

织梦的内容模型还是比较灵活的,默认都有6种,常用的还是普通文章模型,在这个模型的基础上增加一些自定义字段,互不干扰。

网站建设初期会对栏目进行多次调整,比如更换模型,原来的文章在后台可能就看不到了,在栏目下无法进行删除、修改。这时可以在“栏目管理”下的“所有文档列表”找到这些文章,但仍然无法编辑、移动。


原因很简单,比如:默认的文章模型对应的数据表(附加表)是dede_addonarticle,新增的模型类似dede_addon18,用数据库管理软件(如Navicat)查看里面的数据结构,

dede_addonarticle默认有:

aid、typeid、redirecturl、templet、userip

新建的dede_addon18增加了bigpic和smallpic两个自定义字段:

aid、typeid、redirecturl、templet、userip、bigpic、smallpic

这样两个数据的表结构不一样了,PHP此时是无法正常工作的。这时候只需要把原来的对应栏目的数据表上的内容迁移到新建的数据表上即可,对网上的方法总结如下:

在后台->系统->SQL命令,输入以下命令(表前缀自行修改)

INSERTINTOdede_addon18(aid,typeid,redirecturl,userip,body)SELECTaid,typeid,redirecturl,userip,bodyFROMdede_addonarticlewheredede_addonarticle.typeid=10

其中dede_addon18是新建的内容模型附加表,上面命令行的后面的数字10是目标栏目(当前栏目)ID,注意区分,再输入SQL命令

updatedede_arctinysetchannel=18wheretypeid=10;
updatedede_archivessetchannel=18wheretypeid=10;
updatedede_arctypesetchanneltype=18whereid=10;

其中上述命令的数字18为新建内容模型附加表的ID,当然这个三个语句也可以和第一条语句一起写。一定要注意标点符号,建议处理之前做好备份,以免造成不必要的麻烦。