Liquibase参数未在changelog中正确读取

时间:2018-02-23 12:07:13

标签: maven liquibase

我试图将liquibase.properties中的一些参数读入我的更改日志文件但没有取得多大成功。

我的工作基于以下堆栈溢出问题:Liquibase changelog parameters in liquibase.properties

以下是我的liquibase.properties文件:

driver:com.mysql.jdbc.Driver
changeLogFile:src/main/resources/changelog/db.changelog-master.xml
url:jdbc:mysql://localhost:3306/localDB
username:root
password:superSecretPassword
verbose:true
parameter.schemaName:dev_tableName

我在maven上为不同的配置文件提供了一些不同的liquibase.properties文件。以下是我的更改日志文件和我遇到困难的部分。

<property name="schema" value='${schemaName}' />

问题是该属性总是以字面值回归&#34; $ {schemaName}&#34;而不是&#34; dev_tableName&#34;。我需要这个的原因是因为我的更改日志中有另一个模式的引用,它从环境变为环境。

例如dev_tableName和sys_tableName,我宁愿为每个环境提供几个liquibase.properties文件,而不是每个环境的一整套更改日志。任何帮助将不胜感激,谢谢。

编辑:

如果重要 - 我正在使用以下设置通过Maven构建它:

<build>

    <plugins>

        <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>${liquibase-version}</version>
            <configuration>
                <propertyFile>${liquibase.properties.path}</propertyFile>
            </configuration>
            <executions>
            <execution>
                <phase>compile</phase>
                <goals>
                    <goal>update</goal>
                </goals>
            </execution>
        </executions>
        </plugin>

        <plugin>
            <groupId>com.mysema.maven</groupId>
            <artifactId>apt-maven-plugin</artifactId>
            <version>1.1.3</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>process</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>target/generated-sources/java/</outputDirectory>
                        <processor>com.querydsl.apt.hibernate.HibernateAnnotationProcessor</processor>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>

</build>

<profiles>

    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <liquibase.properties.path>${project.basedir}/src/main/resources/dev/liquibase.properties</liquibase.properties.path>
            <env>dev</env>
            <versionNumber>${env}-${project.version}</versionNumber>
        </properties>
    </profile>

0 个答案:

没有答案