В настоящее время я создаю расширение для Liquibase для поддержки Cassandra. Он работает очень хорошо, но я хочу добавить некоторые полезные функции.Переопределить существующее предварительное условие в Liquibase
Если у набора изменений есть предварительное условие, я хочу бросить что-то вроде NotSuppportedException() или что-то еще. Проблема в том, что в настоящее время базовая оболочка JDBC возвращает закрытый ResultSet, который приводит к тому, что Исключение выбрасывается при доступе к указанному ResultSet.
Для заявлений я реализовал свои собственные генераторы. Есть ли аналогичная предпосылка для предусловий? Или способ переопределить существующую реализацию ForeignKeyExistsPrecondition? Расширение от класса и переопределение метода проверки не работает (даже если оно помещено в пакет linibase.precondition.ext).
Спасибо!
Большинство предварительных условий, по-видимому, используют SqlStatements, если вы внедрили свой собственный класс базы данных, вы можете просто не поддерживать эти утверждения? – dag
Да, спасибо, это сработает, если ForeignKeyPrecondition использует SqlStatement, но использует SnapshotGeneratorFactory, который, к сожалению, не могу переопределить – N4zroth
Хорошо, и я вижу, что эти предпосылки не имеют приоритета, как изменения, и я не уверен, что происходит в PreconditionFactory при регистрации пользовательского класса с тем же именем тега. Вы попробовали это? Кажется, preconditionFactory не проверяет уже зарегистрированные теги, а просто переопределяет уже зарегистрированные классы. – dag