Liquibase的原因和时间?

Sha*_*zad 88 database liquibase

我试图在堆栈溢出上搜索这个问题但是找不到任何问题.我是liquibase的新手,想知道为什么liquibase?什么时候应该在项目中使用liquibase?

我知道这是为了将所有数据库更改保存在一个地方,但可以通过在某个存储库系统中创建一个简单的sql文件并随时更新它来完成类似的操作.

Syn*_*sso 63

自我管理模式创建文件和Liquibase(或其他模式迁移工具)之间的关键区别在于后者提供了模式更改日志.这是架构随时间变化的记录.它允许数据库设计人员指定架构中的更改,并根据需要启用程序升级或降级架构.

还有其他好处,例如:

  • 数据库供应商独立性(这是有问题的,但他们尝试)
  • 自动化文档
  • 数据库架构差异

一个替代工具是飞路.

当您需要或需要自动管理架构更新而不丢失数据时,您可以选择使用架构迁移工具.也就是说,您希望在将系统部署到长期环境(例如客户站点或稳定的测试环境)后更改架构.


iCr*_*rus 17

我已经看到liquibase在开发人员修改模式时创建了规则.你不能去覆盖其他开发人员的变更和执行.而是创建自己的变更集,将其添加到要执行的更改序列的末尾.这也清楚地表明了什么时候发生变化以及谁带来变化.

一种非常"版本化"的架构维护方法.

对于初学者来说,它确实给人一种"不必要的工作"的印象.

  • 这是我(它给我的确切印象,你提到:P)+1这个关键的决心 (4认同)

Ted*_* Xu 5

当您在开发,质量保证,生产中有多个数据库实例并且您想要一个工具来自动跟踪更改历史记录并智能地应用更改(应用当前模式和最终模式的差异)时,诸如liquibase或flyway之类的工具将非常有用。


Shi*_*ary 5

我想如果你阅读下面的文章 http://shengwangi.blogspot.com/2016/04/liquibase-helloworld-example.html就可以回答为什么liquibase

如果您仔细阅读它,那么借助简单的 mvn 或 CLI 命令从较高版本降级到较低版本的功能非常有用,如果您采用将 sql 文件提交到 GIT 的方法,则不会获得这种功能,因为这样您必须手动运行这些脚本,而且您没有更改集,例如:- 谁进行了更改作者等。