我试图将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>