0

我已经设置了 Capistrano,现在使用它来部署到登台和实时服务器,这对我的 devt 工作流程来说是一个很大的改进。我现在想知道的是如何最好地处理数据库部署。我有一个看起来不错的 Liquibase,但我不完全确定最好的方法是什么。我应该将数据从实时同步到登台和开发服务器,以便它们是实时站点的正确克隆吗?此外,架构更改通常会是版本化并部署到登台/直播的事物类型吗?任何关于最佳实践和你们所做的事情的指示将不胜感激。我应该补充一点,我主要使用 MySQL 数据库。

4

1 回答 1

0

Liquibase 并不是真正设计用于将生产数据库与开发环境“同步”。相反,它旨在跟踪对开发环境的所有更改,以便可以在生产中忠实地复制它们。

话虽如此,liquibase 确实包含一些强大的工具,用于提取和比较数据库。但是,此功能旨在支持初始化新项目或发现可以添加到现有项目中的缺失“变更集”,以便“同步”两个数据库。

发现 liquibase 的最佳方法是尝试一下。出于您的目的,您将查看命令行实现。(如果您想在 Capistrano 中嵌入 liquibase,那么您只需要 liquibase jar 和与您的数据库关联的 JDBC jar。)

附言

下面是一个在 liquibase 中比较两个数据库的例子:

于 2012-11-22T19:03:19.180 回答