【问题标题】:Dropwizard: Using migrations for a cloud based applicationDropwizard:为基于云的应用程序使用迁移
【发布时间】:2014-09-06 01:08:56
【问题描述】:

我们有一个应用程序,即公开 RESTful Web 服务,我们的目标是将该应用程序部署在云中。我们需要一次在云中的某个数据库实例上为应用程序设置一个数据库模式。 有人可以告诉我将迁移与 liquibase 一起用于一次性数据库架构设置是否是一种好方法。我们将使用更改脚本,以防将来的版本需要对 DDL 进行一些修改。

【问题讨论】:

    标签: java rest cloud liquibase dropwizard


    【解决方案1】:

    如果我错了,有人会阻止我,但是您的应用程序将部署在云上这一事实仅意味着它将位于外部公司托管的虚拟服务器上,就您的问题而言,没有任何机会.

    所以问题是“数据库版本控制系统 Liquibase 在具有目标稳定 shema 的数据库上是否值得”。

    绝对可以被认为是矫枉过正,许多大公司仍然使用裸 sql 脚本来管理数据库模式的演变。您可以简单地导出您的开发数据库的最终构建脚本并使用它。

    但由于您了解 Liquibase,因此开销非常便宜,而且如果您以后碰巧必须修改 tour shema,使用起来的舒适性很重要。

    所以是的,我认为这是一个非常好的实践(比在生产服务器问题的压力下手动应用脚本更安全),它花费一两个小时(假设你知道如何使用该工具)并且可以节省几十个处理生产数据库的修补程序。

    【讨论】:

      【解决方案2】:

      我假设您将在多个地方部署此应用程序 - 不仅仅是在云中的生产,还有开发服务器、测试服务器、登台等。如果这是真的,那么在我看来,您肯定希望有一个关于如何更改数据库架构的过程。

      对我来说,在我 20 多年的软件开发过程中,我看到了一些我现在使用的东西,这些东西在我开始时并不常用,但现在已成为我工作的任何项目的“基准”实践上。是的,我曾经在没有源代码控制的情况下工作,但现在这是绝对必须的。我曾经编写过没有测试的软件,但现在不再这样了。我曾经在没有持续集成的情况下工作,但这是我认为必须具备的另一种做法。我的必备清单中的最新成员是某种自动化数据库迁移过程。

      此外,由于 Liquibase 是 Dropwizard 内置的,我认为没有任何理由使用它。

      【讨论】:

        猜你喜欢
        • 2016-06-20
        • 2011-02-23
        • 2013-06-24
        • 2020-05-23
        • 1970-01-01
        • 2021-05-16
        • 2013-03-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多