我试图在标题中尽可能地描述性,并且我知道这个问题以前曾以各种形式提出过,但是我找不到很好的答案,并且可以想象没有人解决这个问题。 br />
很简单,一旦WP网站上线,如果它不是一个静态网站,则它会通过添加新帖子,新woocommerce订单,新用户帐户等不断更新数据库。'

如果我要对该站点进行一些重大更改和更新,最简单易行的方法是将副本复制到本地安装或另一个开发域中,然后在其中进行所有更改。完成所有更改后,我想将它们复制回实时站点。

如果更改仅针对文件(例如主题和CSS),则有些简单。但是,如果更改涉及数据库中的更改,例如添加新插件以及添加连接/与这些插件相关的内容,那么我不再只能将站点复制回去,因为它将覆盖已添加到实时中的任何新更改。网站的数据库。所有新帖子,新订单,新图片上传都将被删除。

现在我知道不同的案例场景有不同的解决方案,但是没有一种解决所有案例的方法吗?

例如,如果仅对实时站点是新帖子,那么我可以将帖子导出并导入到开发站点,然后将整个站点移到新站点。与其他一些项目相同,但不是每种项目。与此相关的另一个问题是,wordpress中的导出和导入功能非常糟糕。它太基本了,您几乎没有选择和导出特定项目的选项。我可能已经尝试了每个“高级导入/导出”插件,但还没有什么可以解决此问题。

因此,在另一个主题中,有人指出该插件基本上可以在实时站点上安装主题并在该主题上工作,而普通用户仍然可以看到现有主题,但是仍然不能解决所有类型的更改。因为如果您要更改内容(例如,页脚或导航菜单),那么这些内容仍将反映在现有的可见主题/站点中,并且在新的测试主题上看起来可能不错,但在实时测试主题上似乎没问题。

没有办法在同一站点/数据库上开发站点的“分支”然后切换吗?还是没有办法在开发站点上进行开发,但实际上是以无损方式合并数据库?如果您知道受影响的组件和事物,是否有办法做到?否则您需要成为MySQL的高手才能尝试这种事情。

我不是唯一一个遇到这种难题的人。我无法想象这个问题没有解决方案。该怎么办?

预先感谢。

评论

每个人都有这个问题,没有简单的解决方案,将代码保持在版本控制中,经常将sql转储到登台服务器,在迁移过程中创建维护锁定(5-10分钟)。

我不同意。 CrowdFavorite的RAMP插件是一些需要暂存和部署内容的简单解决方案。称其为“简单解决方案”可能会很麻烦,但这很好,任何开发人员都应能够进行设置(需要SSH和远程MySQL访问等。)

有人尝试过sitepush吗?我不介意为Ramp支付250美元,如果它是一个更好的解决方案,但是我想如果不进行全面部署和测试,很难从外部看到这些系统的运行情况。

尚未使用sitepush。听起来像它推动了完整的数据库(例如Migrate WP DB Pro)。这对于部署静态站点非常有用,但是在实时动态场景中会失败(例如,发生新的帖子/评论)。 RAMP实际上管理数据库之间的差异并合并,而不是替换活动数据库。

您可能要使用DBV PHP(一个开放源代码项目),将您的数据库置于版本控制之下。它甚至具有使管理变得容易的UI。另一个选择是例如切换到Laravel,其CLI应用程序内置了迁移工具。

#1 楼

确实没有容易的方法来完成您想要做的事情,但是我要做的是为您的站点制作快照,实施yoru更改,如果有任何刹车恢复,然后重试。可能要花一个小时,但是最近我刚好以某种方式砌了一个我正在处理的站点时才这样做。这可能不是解决问题的“正确”方法,但是对我来说却可行。祝你好运。

评论


WP团队怎么可能没有考虑专业的方法呢?是2018年!!

–asael 2br /> 18年9月9日在15:02