有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Flyway Ant构建未迁移

我使用下面给定的xml文件作为ant任务执行flyway。我正在eclipse中使用“以ant方式运行”选项执行ant文件。这表明构建成功,但没有进行flyway迁移

如果我需要更正,请检查一下并告诉我

<path id="flyway.lib.path">
    <fileset dir="${flyway.lib.dir}" includes="**/*.jar"/>
</path>

<path id="flyway.classpath">
    <fileset dir="${sql.dir.emlogis}" includes="**/*.sql"/>
    <fileset dir="${sql.dir.generator}" includes="**/*.sql"/>
    <fileset dir="${sql.dir.pgf}" includes="**/*.sql"/>
</path>



<target name="init-flyway">
    <taskdef uri="antlib:com.googlecode.flyway.ant"
                resource="com/googlecode/flyway/ant/antlib.xml"
                classpathref="flyway.lib.path"/>
  <property name="flyway.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
  <property name="flyway.url" value="jdbc:sqlserver://localhost:1433;databaseName=ElmGenerator"/>
  <property name="flyway.user" value="sa"/>
  <property name="flyway.password" value="EmLogis123"/>
  <property name="flyway.baseDir" value="${sql.dir.generator}"/>
  <property name="flyway.classpath" value="${sql.dir.generator}"/>
  <property name="flyway.table" value="schema_history"/>
 <property name="flyway.locations" value="${sql.dir.emlogis},${sql.dir.generator}"/>
    <property name="flyway.placeholders.custName" value="Maple"/>
    <property name="flyway.placeholderPrefix" value="$("/>
    <property name="flyway.placeholderSuffix" value=")"/>
    <property name="flyway.outOfOrder" value="false"/>
    <property name="flyway.validateOnMigrate" value="true"/>
    <property name="flyway.cleanOnValidationError" value="false"/>
    <property name="flyway.initOnMigrate" value="false"/>
</target>

<target name="deployDB" depends="init-flyway">
    <flyway:migrate>
        <locations>
            <location path="${sql.dir.emlogis}"/>
            <location path="${sql.dir.generator}"/>
        </locations>
        <placeholders>
            <placeholder name="custName" value="Elm"/>
        </placeholders>
    </flyway:migrate>
</target>

问候,, 卡维塔


共 (1) 个答案

  1. # 1 楼答案

    2件事:

    • 不要设置baseDir。它已被多个地点取代
    • 位置是飞行路线下方的路径。类路径

    例如:

    flyway.classpath=/my/dir/**.*.sql
    flyway.locations=db
    

    然后Flyway将在/my/dir/db中查找迁移

    您已将类路径和位置设置为相同的值,这是不正确的