织梦cms栏目迁移升级

栏目迁移升级概述

织梦CMS的栏目迁移升级是指在服务器更换、域名变更、系统版本升级等场景下,将已有栏目及其内容完整迁移到新环境的过程。迁移涉及数据库、文件、模板和配置等多个方面。

一、完整栏目迁移流程

1.1 源站数据备份

# 1. 备份数据库
mysqldump -u用户名 -p密码 数据库名 > dedecms_backup.sql

# 2. 备份整站文件(含模板、图片、上传文件)
tar -czf dedecms_files.tar.gz /www/web/yourdomain/

# 3. 备份配置文件
cp /www/web/yourdomain/data/common.inc.php ./backup/

1.2 目标站恢复

# 1. 上传文件到新服务器
scp dedecms_files.tar.gz root@新服务器IP:/www/web/

# 2. 解压文件
tar -xzf dedecms_files.tar.gz -C /www/web/

# 3. 导入数据库
mysql -u用户名 -p密码 新数据库名 < dedecms_backup.sql

# 4. 修改配置文件
vi /www/web/yourdomain/data/common.inc.php
# 更新:$cfg_dbhost, $cfg_dbname, $cfg_dbuser, $cfg_dbpwd

二、栏目结构SQL迁移

-- 导出指定栏目及所有子栏目的完整数据
CREATE TABLE dede_arctype_migrate AS 
SELECT * FROM dede_arctype WHERE id=目标栏目ID OR topid=目标栏目ID;

-- 导出栏目下的文章
CREATE TABLE dede_archives_migrate AS 
SELECT * FROM dede_archives 
WHERE typeid IN(SELECT id FROM dede_arctype_migrate);

-- 导出文章内容和附加数据
CREATE TABLE dede_addonarticle_migrate AS 
SELECT * FROM dede_addonarticle 
WHERE aid IN(SELECT id FROM dede_archives_migrate);

三、栏目模板和文件迁移

需要迁移的文件目录:
├── templets/          # 模板文件
├── uploads/           # 上传图片和附件
├── images/            # 网站图片资源
├── data/              # 配置和数据缓存
│   ├── common.inc.php # 数据库配置
│   └── config.cache.inc.php # 系统配置缓存
└── html/              # 静态生成的HTML文件
迁移注意事项:不同版本的织梦CMS数据库结构可能不一致。升级跨版本时(如5.5→5.7),建议先在同一版本间迁移,再执行版本升级操作。务必在测试环境先验证迁移结果,确认无误后再操作生产环境。

四、域名变更后的栏目处理

如果迁移同时伴随域名变更,需要更新以下内容:

-- 1. 更新系统基本参数中的站点根网址
UPDATE dede_sysconfig SET value='http://新域名' 
WHERE varname='cfg_basehost';

-- 2. 更新栏目目录中的域名引用(如绝对路径)
UPDATE dede_arctype 
SET typedir=REPLACE(typedir, '旧域名', '新域名'),
    sitepath=REPLACE(sitepath, '旧域名', '新域名');

-- 3. 更新文章正文中的链接
UPDATE dede_addonarticle 
SET body=REPLACE(body, 'http://旧域名', 'http://新域名');

-- 4. 更新系统缓存
UPDATE dede_sysconfig SET value='http://新域名' WHERE varname LIKE '%domain%';

五、迁移后验证清单

  1. 栏目结构检查:确认栏目层级关系完整,无断裂
  2. 文章内容检查:随机抽查各栏目文章,确认内容、图片正常
  3. 链接有效性检查:检查栏目URL和文章URL是否能正常访问
  4. 模板显示检查:确认各栏目模板正常渲染,无报错
  5. 后台功能检查:登录后台,确认栏目管理功能正常
  6. 搜索功能检查:测试站内搜索功能是否正常
  7. 301重定向:如域名变更,配置旧域名到新域名的301跳转

六、版本升级后的栏目兼容性

常见升级路径:
织梦CMS V5.5 → V5.6:直接覆盖升级,无数据结构变化
织梦CMS V5.6 → V5.7:数据库结构有调整,需执行升级脚本
织梦CMS GBK → UTF-8:需要编码转换(使用iconv或在线工具)

升级后必须执行的操作:
1. 运行 /install/ 目录下的升级程序
2. 更新系统缓存
3. 重新生成所有栏目的HTML
4. 检查模板标签兼容性(部分标签在新版本中已弃用)
迁移黄金法则:任何迁移操作前都要做完整备份(数据库+文件),并在测试环境先验证。建议迁移时保持时间窗口,期间网站设为维护模式,避免迁移过程中产生新的用户数据导致不一致。