
在不同的环境中管理 WordPress 网站通常需要移动数据和文件。部分迁移涉及有选择地仅传输 WordPress 安装的特定组件。您可能不需要克隆整个网站,而只需移动新的数据库条目、更新后的主题或最近添加的媒体。
在本文中,我们将深入探讨部分迁移的复杂性,并探索实际场景,在这些场景中,仅同步您需要的内容可以节省大量时间、防止工作流程中断并简化部署。
什么是部分迁移?
迁移整个网站的传统方法(即"完整站点迁移")涉及复制每个文件和数据库条目。虽然这对于初始部署或大规模改造是必要的,但这种方法对于持续开发来说可能效率低下且存在风险。
这就是部分迁移变得必不可少的地方。与全面传输不同,部分迁移是特定组件的有选择性移动。这可能涉及针对单个数据库表,例如 wp_posts 表以部署新文章,或仅移动新上传的媒体、更新后的主题或单个插件。
这种细粒度方法的好处是巨大的。首先,限制传输范围会减少数据量,从而转化为更快的操作和更少的服务器负载。其次,部分迁移最大程度地降低了对关键数据或配置的无意覆盖风险,这些数据或配置可能在您的环境之间已经发生分歧。这可以防止不必要的回归并简化故障排除。最后,它实现了真正的针对性更新,让您能够自信地部署隔离的更改,因为您仅会影响网站的预期组件。
如何执行部分迁移
WP Migrate Lite 提供了一个直接的界面来执行细粒度导出。虽然后续的导入或文件传输步骤是手动的,但该插件显著简化了数据提取过程。在这里,我们将带您了解常见的部分迁移场景,详细说明如何为每个场景配置 WP Migrate Lite。
首先,确保在您的源 WordPress 网站上安装并激活了 WP Migrate Lite,然后导航到 工具 > WP Migrate。
场景 1:同步新内容
当在暂存网站上开发了新文章、着陆页或产品条目,需要将它们发布到实时生产环境而不影响其他数据时,这个场景很常见。
导航到导出选项卡
在您源站点的 WordPress 管理后台中,访问 WP Migrate Lite 的界面。从那里,选择 Migrate 选项卡,然后点击 导出。

配置导出
WP Migrate 默认为数据库导出,不导出 WordPress 核心、媒体文件等。保持 "Database" 复选框勾选,然后点击 Tables 下拉菜单。
在 Tables 部分,点击 Export only selected tables below,然后仔细仅选择与您的内容相关的表。至少,这包括 wp_posts(假设 wp_ 是您的表前缀)。如果您的内容使用自定义字段,您还应该选择 wp_postmeta。对于涉及分类或标签的新内容,请确保也选择 wp_terms、wp_term_relationships 和 wp_term_taxonomy。重要的是要避免 wp_users、wp_options(除非有特定的修改意图)或无关的插件表,以防止意外的覆盖。
配置查找和替换
维护正确的内部链接和资源路径的一个关键步骤是配置标准的查找和替换功能。查找字段应已包含您源站点的相关URL和文件路径。在替换字段中,输入目标站点的URL。这确保导出的内容中的内部链接或嵌入的媒体URL会在实时环境中准确更新,WP Migrate Lite会智能处理序列化数据。
设置好所有配置后,点击导出。WP Migrate Lite随后将处理选定的表,执行查找和替换操作,并生成SQL文件。

手动导入
下载生成的SQL文件后,下一步是手动导入。您需要使用phpMyAdmin或WP-CLI等工具访问目标站点的数据库。将SQL文件导入目标数据库。如果新内容可能与目标站点上现有内容的ID冲突,请谨慎操作。此方法通常最适合导入全新内容。
场景2:同步媒体库添加项
当新的图片、视频或文档上传到开发或预发布环境并需要迁移到生产环境时,您可以仅传输新文件及其相关的数据库条目。
在源站点的WP Migrate Lite界面中,导航到迁移选项卡并点击导出。
仅选择媒体文件
选择媒体上传。这指示插件仅将wp-content/uploads目录的内容包含在导出包中。在"媒体上传"选项中,您将看到选择要复制的文件的选项。对于同步添加项,通常会选择导出新的和已更新的媒体上传。此选项会智能识别并仅包含自上次同步以来已添加或修改的媒体文件。
或者,如果您需要传输特定时间点之后上传的媒体,可以选择按日期导出媒体上传并提供具体日期。这将指示插件根据您的选择仅包含wpwp-content/uploads目录的内容。

配置媒体数据库
在数据库部分,选择仅导出下面选择的表。媒体项目在数据库中也有对应的条目。在"文章类型"子部分中,选择仅导出下面选择的文章类型,然后从列表中选择attachment。这确保仅导出与您的媒体库项目相关的数据库条目(位于wp_posts和wp_postmeta中)。您还需要确保在"表"部分已选择wp_posts和wp_postmeta表。
配置查找和替换
与内容一样,设置查找和替换规则以将URL从源站点更新到目标站点(例如,https://staging.example.com到https://www.example.com)。此步骤对于确保数据库中媒体URL正确反映至关重要。
开始导出
点击导出。此操作将生成一个ZIP文件,其中包含选定的媒体上传和随附的SQL数据库文件。
手动传输和导入
导出完成后,下载生成的ZIP文件。从此存档中解压wp-content/uploads文件夹。使用FTP或SFTP客户端,仅将新的或已更新的媒体文件和文件夹手动上传到目标服务器上的wp-content/uploads目录。注意避免意外覆盖现有文件,除非这是您的明确意图。
同时,使用phpMyAdmin或WP-CLI将导出的SQL文件导入到目标数据库中。此双重操作可确保新的媒体文件既在物理上存在,又在WordPress媒体库中正确注册,使它们可通过管理界面访问。
场景3:部署特定主题或插件更新
使用部分迁移部署特定主题或插件更新对于自定义代码或涉及数据库更改的情况特别有用,可确保精确部署而不影响其他网站组件。当您开发或更新了特定主题或插件并只想推送这些更改时,部分文件导出是最佳选择。这避免了仅更改一个组件时却部署整个网站存档的情况。
导航到迁移选项卡并点击导出。在导出配置的“文件”部分,根据要导出的内容选择主题或插件。然后,仅选择要导出的主题或插件的文件夹。
通常不需要将数据库包含在此导出中,除非您的主题或插件更新特别需要数据库更改,而这些更改尚未单独管理。如果需要数据库修改,您可以将此文件传输与相应的选择性数据库导出和导入过程相结合,如场景1或2中所述。
最后,点击导出按钮生成ZIP文件,其中仅包含您选择的主题或插件文件夹,以及您确定需要的任何数据库表。
手动传输
下载生成的ZIP文件,并从此存档中解压特定的主题或插件目录。然后,使用FTP或SFTP客户端将此解压的目录手动上传到目标服务器上相应的wp-content/themes或wp-content/plugins目录。此操作通常会覆盖现有文件夹。在继续之前,始终建议备份目标主题/插件。
使用更强大的功能提升部分迁移
虽然WP Migrate Lite提供了有效的精细导出工具,但其功能仅限于源站点。将这些导出集成到目标环境的过程始终需要手动操作。这种对手动下载、上传和导入步骤的依赖——无论是通过phpMyAdmin传输数据库文件还是通过FTP传输文件——很快就会成为专业工作流程的瓶颈。
这种手动操作开销会显著降低频繁同步的效率,尤其是在处理大型网站或复杂数据时。它还阻碍了现代开发流程所需的关键自动化,并且缺乏从实时站点向开发环境拉取新数据所需的直接双向同步功能。对于偶尔的简单导出,WP Migrate Lite可以正常工作,但当需要速度、自动化和集成工作流程时,手动操作的局限性就变得显而易见。
当您工作流程的需求超过WP Migrate Lite的手动能力时,WP Migrate提供了全面的解决方案。它将部分迁移转变为直接、自动化的流程,提供精细的控制和高效性。
核心增强功能是其直接的推送和拉取功能,实现WordPress站点之间无缝、安全的数据库和文件传输,无需手动中间步骤。这包括精确的文件同步功能,通过智能比较源文件和目标文件,仅直接传输新的或更新的媒体、主题或插件。对于WordPress多站点网络,它提供了专门的工具,可简化导出单个子站点或在网络之间迁移等复杂任务。通过WP-CLI集成的命令行界面允许开发者编写部分迁移脚本,将其集成到CI/CD管道中,并自动化常规同步任务。
为进一步简化重复操作,可以保存迁移配置文件,实现快速、一致地执行预定义的部分迁移设置。
总结
部分迁移涉及选择性地仅传输WordPress安装的特定组件。无需克隆整个站点,现在您可以仅移动新的数据库条目、更新的主题或最近添加的媒体。这种移动数据和文件的战略性方法是高效管理不同环境中的WordPress站点的关键。
虽然部分迁移有其复杂性,但在某些情况下,仅同步您需要的内容可以节省大量时间、防止工作流程中断并简化部署。WP Migrate通过自动化使用WP Migrate Lite时需要手动执行的步骤,进一步节省了时间。




