首页 > 解决方案 > 在多个用户之间同步数据库

问题描述

我正在寻找一种在多个开发人员(我们在办公室..)之间同步数据库的解决方案。

我们使用 Wordpress 和 MAMP(目前,MAMP/Headless WP 和 NPM/React 未来),我们希望使用 Appveyor(或类似的)部署在开发服务器和实时服务器,并希望数据库在任何地方同步或者至少在我们和开发服务器之间,并且在实时服务器上有一个辅助(独立)。

这可以用 Liquidbase 完成还是有更好的选择?

谢谢 :)

标签: reactjsdatabasewordpresssynchronizationheadless

解决方案


我不太了解 WordPress 以及它如何使用数据库,但从理论上讲,只要您谈论同步架构更改,这应该是可能的。如果您还尝试同步数据,那么 Liquibase 不是该工作的正确工具。

要使用 Liquibase 执行此操作,请尝试使用安装程序进行安装并通过一些示例来了解该工具的工作原理。这些示例使用本地 h2 内存数据库,因此如果您搞砸了,尝试并重新开始是非常轻松的。

在对事物有所了解之后,您将需要使用 LiquibasegenerateChangeLog命令创建初始更改日志,其中包含创建模式的所有说明,因为它存在于您运行时使用的数据库中generateChangeLog。然后测试您是否可以liquibase update在单独的数据库上运行并让 WordPress 成功使用该数据库。

一旦您证明了该工作流程,您可以按照以下模式继续:

  1. 在对 WordPress 架构进行更改之前,运行liquibase snapshot以创建“DEV”架构的 JSON 格式快照 - 您在开发模式下更改的架构。您将需要其他选项来生成 JSON 格式的快照。
  2. 最有可能通过使用 WordPress 应用程序本身对 WordPress“DEV”架构进行所需的更改。
  3. 用于liquibase diffChangeLog将 JSON 快照与新更改的“DEV”模式进行比较。这会将变更集添加到现有的变更日志文件中,该文件描述如何更改架构以创建所需的更改。
  4. 使用liquibase changeLogsSync“DEV”模式更新 liquibase 跟踪表,以便 liquibase 知道更改日志中的更改已经存在于该数据库中。
  5. 对“PROD”数据库使用liquibase update以使新的架构更改显示在该环境中。

此工作流程在快照命令的 Liquibase 文档中进行了描述。

ps - Liquibase 中没有 d :-)


推荐阅读