每次运行时都会生成DatabaseChangeLog和Lock表

时间:2016-05-11 18:39:49

标签: sql-server liquibase

我正在开发一个管理少数服务器上的许多数据库的项目,我们正在使用liquibase来保持我们的数据库结构最新。

据我了解,liquibase是在第一次识别为特定数据库执行Changelog文件时生成Databasechangelog和databasechangelogLock表。

问题在于,在我们的某个环境中,有几个数据库似乎尝试在每次运行时生成这些表,因此我们从liquibase获取的脚本在每次脚本创建时都会继续创建初始表。产生。实际的db更改是按预期生成的,以及它们的databasechangelogtable条目,只要每次运行都忽略初始表的create table语句,我就可以继续生成和运行脚本。

这种情况发生在可在另一台服务器上正常运行的数据库上。关于“问题”的大多数数据库'服务器也正常工作,所以只有少数人遇到这个问题。

如果有人知道liquibase的哪个部分做了检查以决定是否需要生成表格,或者我如何操纵运行而不是每次都非常感激地尝试创建它们。

由于

1 个答案:

答案 0 :(得分:0)

几乎每个Liquibase命令都会检查表并在需要时创建它们。如果你想知道Liquibase的哪一部分'这样做,通常是StandardChangeLogHistoryServiceStandardLockService