当对象无法编译时,我是否可以通过liquibase迁移失败

时间:2014-02-11 01:50:19

标签: liquibase

我使用Liquibase 3.1.1来执行创建编译数据库对象(如视图,触发器,函数和过程)的SQL脚本。

如果数据库对象无法编译,是否存在我可以设置为失败/中止迁移的changeset属性?

例如,如果我运行一个创建触发器的脚本并且该触发器无法编译,我该如何立即停止数据库迁移?

1 个答案:

答案 0 :(得分:1)

如果数据库在执行SQL命令时抛出错误,Liquibase将自动失败升级。您可以使用changeSet failOnError属性覆盖该行为,但默认为true会停止数据库更新。

如果你看到Liquibase继续使用错误的触发器SQL,你的数据库必须允许它被创建,但在执行时会抛出运行时错误。在这种情况下,在创建之后,您将需要一个changeSet来检查视图,触发器等,或者使用前提条件或者使用它来调用它。