【问题标题】:Database deployment with MySQL and Capistrano使用 MySQL 和 Capistrano 进行数据库部署
【发布时间】:2012-11-10 16:26:26
【问题描述】:

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

【问题讨论】:

    标签: mysql deployment version-control capistrano liquibase


    【解决方案1】:

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

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

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

    PS

    以下是在 liquibase 中比较两个数据库的示例:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      相关资源
      最近更新 更多