我使用Liquibase 3.1.1来执行创建编译数据库对象(如视图,触发器,函数和过程)的SQL脚本。
如果数据库对象无法编译,是否存在我可以设置为失败/中止迁移的changeset属性?
例如,如果我运行一个创建触发器的脚本并且该触发器无法编译,我该如何立即停止数据库迁移?
答案 0 :(得分:1)
如果数据库在执行SQL命令时抛出错误,Liquibase将自动失败升级。您可以使用changeSet failOnError属性覆盖该行为,但默认为true会停止数据库更新。
如果你看到Liquibase继续使用错误的触发器SQL,你的数据库必须允许它被创建,但在执行时会抛出运行时错误。在这种情况下,在创建之后,您将需要一个changeSet来检查视图,触发器等,或者使用前提条件或者使用它来调用它。