【问题标题】:Sync database between multiple users在多个用户之间同步数据库
【发布时间】:2020-03-04 08:44:37
【问题描述】:

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

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

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

谢谢:)

【问题讨论】:

    标签: reactjs database wordpress synchronization headless


    【解决方案1】:

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

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

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

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

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

    the Liquibase docs for the snapshot command 中描述了此工作流程。

    ps - Liquibase 中没有 d :-)

    【讨论】:

    • 感谢 SteveDonie 的精彩回答!我会调查这个:)
    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 2022-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 2012-12-14
    • 1970-01-01
    相关资源
    最近更新 更多