0

我们正在使用 javalite db migrator maven 插件来管理不同环境中的数据库迁移。我们不想将生产环境的数据库用户名和密码存储在属性文件中。那么我们如何在运行数据库迁移时从命令行提供数据库用户名和密码呢?

4

1 回答 1

0

在花费了几个小时并忙于使用 javalite db-migrator 之后,我发现没有直接的方法可以从命令行提供数据库用户名和密码。所以我们通过 maven 资源过滤器插件解决了这个问题。

我添加了 maven 资源过滤器插件,使用它我将数据库用户名和密码替换到 db-migrator.properties 文件中。下面是maven资源过滤插件的配置

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <resources>
                        <resource>
                            <directory>src/main/resources</directory>
                            <filtering>true</filtering>
                        </resource>
                    </resources>
                    <overwrite>true</overwrite>
                    <encoding>UTF-8</encoding>
                </configuration>
                <executions>
                    <execution>
                        <id>resource_filter</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>resources</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

请注意,如果您使用 spring boot 进行开发,那么您必须在 @property@ (spring way) 中添加属性占位符。

于 2019-03-28T07:24:58.763 回答