28

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

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

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

我们怎么能做到这一点?

4

1 回答 1

42

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

  1. 创建初始变更日志(这就是您所做的)
  2. 使用命令运行 liquibase changelogSync。这将创建 Liquibase 表并将所有更改集标记为已应用(这是您错过的)
  3. 添加您的变更集
  4. 使用命令运行 liquibaseupdate以应用更改集。
于 2013-05-09T08:55:13.063 回答