Как настроить задачу Liquibase Ant, например, подключаемые модули Liquibase Maven? - PullRequest
0 голосов
/ 24 сентября 2019

Я хотел бы настроить liquibase-core Задача Ant, например liquibase-maven-plugin, где есть некоторая недостающая конфигурация для generateChangeLog Задача Ant.В соответствии с liquibase-maven-plugin я уже настроен следующим образом и работает нормально.

<plugin>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
    <version>3.5.3</version>
    <configuration>
        <contexts>dev</contexts>
        <changeSetAuthor>chorke</changeSetAuthor>
        <changeSetContext>dev,qac,uat,pro</changeSetContext>
        <propertyFileWillOverride>true</propertyFileWillOverride>
        <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
        <dataDir>${project.build.directory}/${change.on}</dataDir>
        <changeLogFile>META-INF/migrations/db.changelog-master.xml</changeLogFile>
        <diffTypes>tables,views,columns,indexes,foreignkeys,primarykeys,uniqueconstraints,data</diffTypes>
        <propertyFile>${chorke.home}/etc/liquibase/${chorke.env.app}/${chorke.env.db}/${chorke.env}.properties</propertyFile>
    </configuration>
    <executions>
        <execution>
            <phase>prepare-package</phase>
            <goals><goal>generateChangeLog</goal></goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.14</version>
        </dependency>
    </dependencies>
</plugin>

В перспективе задачи liquibase-core Ant я настроил ее, как показано ниже, для создания журнала изменений.Там, где она выполняется, задача Ant generateChangeLog, но в сгенерированном журнале изменений не обнаружено никакого эффекта в качестве свойств конфигурации, таких как diffTypes, changeSetContext, dataDir, changeSetAuthor, contexts и propertyFile, предоставленных в Antзадача.Все еще пытаюсь, но надежды пока не найдено!

<liq:generateChangeLog classpathref="driver.classpath">
    <liq:database driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db.chorke.org:3306/chorke_init_pro?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull" user="chorke_init_pro" password="chorke_init_pro"/>
    <liq:xml outputfile="${basedir}/target/changelog.xml" encoding="UTF-8"/>
    <liq:changeLogParameters>
        <liq:changeLogParameter name="diffTypes" value="tables,views,columns,indexes,foreignkeys,primarykeys,uniqueconstraints,data"/>
        <liq:changeLogParameter name="changeSetContext" value="dev,qac,uat,pro"/>
        <liq:changeLogParameter name="dataDir" value="${basedir}/target"/>
        <liq:changeLogParameter name="changeSetAuthor" value="chorke"/>
        <liq:changeLogParameter name="contexts" value="dev"/>
        <propertyset>
            <propertyref prefix="params"/>
        </propertyset>
    </liq:changeLogParameters>
</liq:generateChangeLog>

Возможно, я могу ошибаться при настройке generateChangeLog Задачи Ant.Руководство от экспертизы по настройке liquibase-core generateChangeLog Задача Ant ожидаемо.

...