私は現在、CassandraをサポートするためのLiquibaseの拡張を作成中です。それはかなりうまくいっていますが、私は素晴らしい機能をいくつか追加したいと思います。Liquibaseの既存の前提条件を無効にする
変更セットに前提条件がある場合、NotSuppportedException()などの何かをスローしたいと思います。現時点では、基礎となるJDBCラッパーがクローズされたResultSetを返し、そのResultSetへのアクセス時にExceptionがスローされるという問題があります。
ステートメントについては、独自のジェネレーターを実装しました。前提条件にも同様のことがありますか?既存のForeignKeyExistsPrecondition実装をオーバーライドする方法ですか?クラスからの拡張とcheckメソッドのオーバーライドは機能しません(パッケージliquibase.precondition.extに配置されていても)。
ありがとうございます!
前提条件のほとんどはSqlStatementsを使用しているようですが、独自のデータベースクラスを実装した場合、これらのステートメントをサポートしていない可能性がありますか? – dag
ForeignKeyPreconditionがSqlStatementを使用していて、悲しいことに上書きできないSnapshotGeneratorFactoryを使用している場合は、これがうまくいきます。 – N4zroth
Okと私は、前提条件に変更があるような優先順位がなく、 PreconditionFactoryは、同じtagNameを持つカスタムクラスを登録するときに使用します。それを試しましたか? preconditionFactoryは既に登録されているタグをチェックするのではなく、すでに登録されているクラスをオーバーライドするだけです。 – dag