我正在寻找一种解决方案,以在多个开发人员(我们在办公室..)之间同步数据库。
我们使用Wordpress和MAMP(现在,现在是MAMP / Headless WP和NPM / React),并且我们想要使用Appveyor(或类似的东西)部署在dev-server和live-server上,并希望DB可以在任何地方同步,或者至少在我们与开发服务器之间同步,并且在实时服务器上具有辅助服务器(独立服务器)。
这可以用Liquidbase完成吗?还是有更好的选择?
谢谢:)
答案 0 :(得分:0)
我对WordPress及其如何使用数据库一无所知,但是从理论上讲,只要您正在谈论同步架构更改,这应该是可能的。如果尝试同步数据,则Liquibase不是适合该工作的工具。
要使用Liquibase做到这一点,请尝试使用安装程序进行安装,并通过一些示例来了解该工具的工作原理。这些示例使用本地的h2内存数据库,因此尝试进行操作并弄乱了一切就很容易了。
对事物有所了解后,您将需要使用Liquibase generateChangeLog
命令来创建初始变更日志,其中包含在运行{时所使用的数据库中存在的所有用于创建模式的说明。 {1}}。然后测试您可以在单独的数据库上运行generateChangeLog
,并让WordPress成功使用该数据库。
一旦证明了该工作流程,就可以按照以下模式继续操作:
liquibase update
创建JSON格式的“ DEV”模式的快照,“ DEV”模式是在开发模式下要更改的模式。您将需要其他选项来生成JSON格式的快照。 liquibase snapshot
将JSON快照与新更改的“ DEV”模式进行比较。这会将更改集添加到现有的更改日志文件中,这些更改集描述了如何更改架构以创建所需的更改。 liquibase diffChangeLog
更新liquibase跟踪表,以便liquibase知道该数据库中已经存在更改日志中的更改。liquibase changeLogsSync
,以在该环境中显示新的架构更改。 此工作流程在the Liquibase docs for the snapshot command中进行了描述。
ps-Liquibase中没有d:-)