Мне нужно настроить changeSet для выполнения sql, загруженного из jar.
У меня есть внутренний проект changeSet
, который работает правильно
<changeSet id="1" author="sergii" dbms="h2">
<sqlFile
encoding="utf8"
path="schema-ms-sql.0.0.1.sql"
relativeToChangelogFile="true"
splitStatements="true"
stripComments="true"/>
</changeSet>
Некоторые сценарии предоставляются из разных библиотек (в моем случае этоis spring-boot-starter-batch
), например:
classpath:/org/springframework/batch/core/schema-h2.sql
Обратите внимание, что jar находится в проекте и доступен (build \ test \ run time).В результате мне нужно зарегистрировать один также в моем changeSet
, пытаясь:
<changeSet id="2" author="sergii" dbms="h2">
<sqlFile
encoding="utf8"
path="classpath*:/org/springframework/batch/core/schema-h2.sql"
relativeToChangelogFile="true"
splitStatements="true"
stripComments="true"/>
</changeSet>
, и он не работает с любой конфигурацией (например, "classpath:/org/springframework/batch/core/schema-h2.sql"
, "/org/springframework/batch/core/schema-h2.sql"
, "org/springframework/batch/core/schema-h2.sql"
, "classpath*:/org/springframework/batch/core/schema-h2.sql"
и т. д.) из-за
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.UnexpectedLiquibaseException: java.io.IOException: File does not exist: 'classpath*:/org/springframework/batch/core/schema-h2.sql'
Я знаю, что с помощью Spring я мог бы использовать автоконфигурацию, но мне интересен аудит жидкостной базы ...
Есть какие-нибудь идеи, как создавать пакетные скриптыработать через changeSet
или включить в аудит ликвидазы?