reactjs - 在多个用户之间同步数据库
问题描述
我正在寻找一种在多个开发人员(我们在办公室..)之间同步数据库的解决方案。
我们使用 Wordpress 和 MAMP(目前,MAMP/Headless WP 和 NPM/React 未来),我们希望使用 Appveyor(或类似的)部署在开发服务器和实时服务器,并希望数据库在任何地方同步或者至少在我们和开发服务器之间,并且在实时服务器上有一个辅助(独立)。
这可以用 Liquidbase 完成还是有更好的选择?
谢谢 :)
解决方案
我不太了解 WordPress 以及它如何使用数据库,但从理论上讲,只要您谈论同步架构更改,这应该是可能的。如果您还尝试同步数据,那么 Liquibase 不是该工作的正确工具。
要使用 Liquibase 执行此操作,请尝试使用安装程序进行安装并通过一些示例来了解该工具的工作原理。这些示例使用本地 h2 内存数据库,因此如果您搞砸了,尝试并重新开始是非常轻松的。
在对事物有所了解之后,您将需要使用 LiquibasegenerateChangeLog
命令创建初始更改日志,其中包含创建模式的所有说明,因为它存在于您运行时使用的数据库中generateChangeLog
。然后测试您是否可以liquibase update
在单独的数据库上运行并让 WordPress 成功使用该数据库。
一旦您证明了该工作流程,您可以按照以下模式继续:
- 在对 WordPress 架构进行更改之前,运行
liquibase snapshot
以创建“DEV”架构的 JSON 格式快照 - 您在开发模式下更改的架构。您将需要其他选项来生成 JSON 格式的快照。 - 最有可能通过使用 WordPress 应用程序本身对 WordPress“DEV”架构进行所需的更改。
- 用于
liquibase diffChangeLog
将 JSON 快照与新更改的“DEV”模式进行比较。这会将变更集添加到现有的变更日志文件中,该文件描述如何更改架构以创建所需的更改。 - 使用
liquibase changeLogsSync
“DEV”模式更新 liquibase 跟踪表,以便 liquibase 知道更改日志中的更改已经存在于该数据库中。 - 对“PROD”数据库使用
liquibase update
以使新的架构更改显示在该环境中。
此工作流程在快照命令的 Liquibase 文档中进行了描述。
ps - Liquibase 中没有 d :-)
推荐阅读
- android-layout - Android:滚动视图在显示时导致问题
- cmake - 即使 ZLIB 存在,编译器也找不到
- react-native - React Native:从firestore获取数据后屏幕上没有显示任何内容
- java - 避免 Swagger ui 显示双端点
- angular - 角度 mat-menu 未使用 matMenuTriggerFor 显示
- python - 如何在python中绘制随机森林的特征重要性
- .net - 无法建立连接,因为目标机器主动拒绝它。(HttpClient)
- c++ - 静态指针有什么问题?
- laravel - 带有关系单元测试的 Laravel 用户层次结构出错了
- javascript - 当涉及到推送 API 时,PWA 是否会有例外,例如如果用户安装应用程序,则跳过 .requestPermission() 以获取令牌