【问题标题】:Using liquibase on the existing database在现有数据库上使用 liquibase
【发布时间】:2013-05-03 13:34:50
【问题描述】:

我们有一个生产中的现有数据库。我们决定使用 liquibase 进行所有进一步的更新并创建任何新的数据库(如开发或集成)。

我们基于现有的生产模式创建了 liquibase 脚本(用于创建任何新的数据库,如开发、集成等)。在该脚本之上,我们还添加了另外两个更新。今后对生产数据库的所有进一步更新都将由 liquibase 完成。

如果我们在生产环境中执行 liquibase,它会尝试进行所有完整的更改,即使是那些已经存在的更改,这不应该发生,因为生产环境已经拥有除了两个新更新之外的所有内容。现在我们想使用 liquibase 将这两个更改单独更新到产品中。

我们如何做到这一点?

【问题讨论】:

    标签: database database-migration liquibase


    【解决方案1】:

    将现有数据库置于 liquibase 控制之下的过程如下:

    1. 创建初始变更日志(这就是您所做的)
    2. 使用命令changelogSync 运行liquibase。这将创建 Liquibase 表并将所有更改集标记为已应用(这是您错过的)
    3. 添加您的变更集
    4. 使用命令 update 运行 liquibase 以应用更改集。

    【讨论】:

    • 这是我一直在寻找的答案。谢谢:)
    • 假设我的生产模式是“s1”。现在我在另一个名为“s2”的模式中创建了我的更改。我已经完成了你所说的第 1 和第 2 部分。接下来,我在 s1 和 s2 之间创建了一个差异,并将所有差异文件内容附加到第 1 节中创建的 changeLong 的末尾。然后我运行更新命令但过程失败:(((。出了什么问题?
    • 这是如何创建初始变更日志的吗? stackoverflow.com/questions/12449824
    • 谢谢!谷歌仍然指向这个empty url
    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 2018-04-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    相关资源
    最近更新 更多