我使用 liquibase 根据变更集生成 SQL 文件。但是当我使用 liquibase:updateSQL 时,它不会在生成 SQL 文件之前检查先决条件
我有一个先决条件,说在创建表之前检查表是否存在。
在这种情况下,即使表存在,“仍然会生成创建表 SQL 语句”。
当我运行 liquibase:update 目标时,此前提条件已正确检查。
那么 liquibase 在生成 sql 文件时不检查前提条件吗?
谢谢。
我使用 liquibase 根据变更集生成 SQL 文件。但是当我使用 liquibase:updateSQL 时,它不会在生成 SQL 文件之前检查先决条件
我有一个先决条件,说在创建表之前检查表是否存在。
在这种情况下,即使表存在,“仍然会生成创建表 SQL 语句”。
当我运行 liquibase:update 目标时,此前提条件已正确检查。
那么 liquibase 在生成 sql 文件时不检查前提条件吗?
谢谢。
您可能已经找到了答案,但以防万一这可能会有所帮助:
http://forum.liquibase.org/topic/unexpected-behaviour-of-preconditions-with-updatesql
前提条件的 onSqlOutput="TEST" 属性听起来像您正在寻找的。
在生成 updateSQL 时,请注意您编写的先决条件或何时测试它们。依赖于先前应用的可能尚未在您的实例中执行的补丁的前提条件可能会导致错误。
希望能帮助到你
可能有助于提供一些代码。特别是您允许其他人评估它是否是一个问题的先决条件。