开始使用liquibase的时候,有的项目中已经有了数据库表,有的项目是从中间迁移到liquibasebase。这种情况下有3中处理方式。
- 将sql全部转为xml配置文件。
- 将sql作为一个文件include进liquibase
- 从新的sql开始使用liquibase,老sql按兵不动
第2,3种方法我们不做讨论,我们就看第一种方法。第一种方式如果sql语句比较多,手工一个个改很耗费时间,有没有工具自动生成呢。标题已经说了有。生成也有2中方式: - 安装liquibase工具
- 使用maven插件
对于java开发者来说安装什么的太烦了,直接用插件吧。那就直接上干货。
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.5.3</version>
<configuration>
<changeLogFile>${basedir}/src/main/resources/master_changelog.xml</changeLogFile>
<diffChangeLogFile>${basedir}/src/main/resources/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
<outputChangeLogFile>${basedir}/src/main/resources/changelog_original.xml</outputChangeLogFile>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://localhost:5432/mydb?useUnicode=true</url>
<username>postgres</username>
<password>pg</password>
<dropFirst>false</dropFirst>
<defaultSchemaName/>
<verbose>true</verbose>
<logging>debug</logging>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<outputFileEncoding>UTF-8</outputFileEncoding>
<propertyFileWillOverride>true</propertyFileWillOverride>
<!--<rollbackTag>${project.version}</rollbackTag>-->
<!--<tag>${project.version}</tag>-->
</configuration>
</plugin>
加入插件后,运行liquibase命名mvn liquibase:generateChangeLog
这样就在项目下生成了配置文件。