我目前正在为Liquibase创建一个扩展来支持Cassandra。它工作得很好,但我想添加一些不错的功能。覆盖Liquibase中的现有先决条件
当变更集有一个先决条件时,我想抛出类似NotSuppportedException()或类似的东西。问题是,目前底层的JDBC封装器返回一个关闭的ResultSet,导致访问所述ResultSet时引发异常。
对于陈述,我实现了我自己的发电机。前提条件是否有类似的情况?或者重写现有的ForeignKeyExistsPrecondition实现的方法?从类延伸并覆盖检查方法不起作用(即使置于包liquibase.precondition.ext中)。
谢谢!
大多数前提条件似乎都使用SqlStatements,如果您实现了自己的数据库类,那么您可能只是不支持这些语句? – dag
是的,谢谢,这将工作,如果ForeignKeyPrecondition使用SqlStatement,但它使用的SnapshotGeneratorFactory,我很遗憾不能覆盖 – N4zroth
好吧,我看到,该先决条件没有优先级像变化,我不知道会发生什么使用相同的tagName注册自定义类时的PreconditionFactory。你尝试过吗?似乎前提条件工厂不检查已经注册的标签,但只是覆盖已经注册的类。 – dag