首页 » Web开发 » 正文

[WEB开发]织梦CMS移植到Discuz Portal

最近遇到一个问题,想从织梦CMS(dedecms)迁移到Discuz Portal数据库,其中最重要的问题是如何将栏目和大量的文章进行迁移。

涉及到的数据表有:

dede_addonarticle 文章表

dede_arctype 栏目表

dede_relation 新旧栏目对应关系表

pre_portal_article_content 文章表

pre_portal_article_title 文章题目表

pre_portal_article_count 文章浏览数表

 
1. 预处理旧表 合并typename

update dede_addonarticle, dede_arctype set dede_addonarticle.typename = dede_arctype.typename where dede_arctype.id = dede_addonarticle.typeid;

2. 合并click title writer pubdate keywords description

update dede_addonarticle , dede_archives  set 
dede_addonarticle.click = dede_archives.click, 
dede_addonarticle.title = dede_archives.title, 
dede_addonarticle.writer = dede_archives.writer, 
dede_addonarticle.pubdate = dede_archives.pubdate, 
dede_addonarticle.keywords = dede_archives.keywords, 
dede_addonarticle.description = dede_archives.description 
where dede_archives.id = dede_addonarticle.aid;

3. 生成relation new id

update dede_relation, pre_portal_category set dede_relation.catid = pre_portal_category.catid 
where dede_relation.new = pre_portal_category.catname;

4. dede_addonarticle 根据typename 和 relation填充catid

update dede_addonarticle, dede_relation set dede_addonarticle.catid = dede_relation.catid
where dede_addonarticle.actype like concat("%", dede_relation.olds, "%")

5. 导入discuz – pre_portal_article_content(文章表), pre_portal_article_title(文章题目表), pre_portal_article_count(文章浏览数表)

insert into pre_portal_article_content(aid, title, content, dateline) values 
(select aid, title, body, pudate as dateline from dede_addonarticle)</p>

<p>insert into pre_portal_article_title(aid, username, title, author, summary, dateline) values 
(select aid, 'admin', title, writer as author, description as summary, pudate as dateline from dede_addonarticle)</p>

<p>insert into pre_portal_article_count(aid, cid, viewnum) values 
(select aid, catid, click as dateline from dede_addonarticle)

发表评论