如何使用liquibase生成数据库更新sql?
老的后台项目还在使用mybatis,每次发布都需要同步测试数据库的结构到生产库上.
结构变更的SQL除了日常开发记录下来,可能还会有一些因为不规范而漏掉的.或者在升级完成之后需要再次确认的,用liquibase来做这件事就非常的方便了.
比较数据库差异
liquibase \
--driver=com.mysql.jdbc.Driver \
--classpath=mysql-connector-java-bin.jar \
--url=jdbc:mysql://database1.com:3306/schema \
--username=username \
--password=password \
diff \
--referenceUrl=jdbc:mysql://database2.com:3306/schema \
--referenceUsername=username \
--referencePassword=password
生成changelog,另存为changelog.xml
liquibase \
--driver=com.mysql.jdbc.Driver \
--classpath=mysql-connector-java-bin.jar \
--url=jdbc:mysql://database1.com:3306/schema \
--username=username \
--password=password \
diffChangeLog \
--referenceUrl=jdbc:mysql://database2.com:3306/schema \
--referenceUsername=username \
--referencePassword=password
使用changelog生成update sql
liquibase \
--driver=com.mysql.jdbc.Driver \
--classpath=mysql-connector-java-bin.jar \
--changeLogFile=changelog.xml \
--url=jdbc:mysql://database1.com:3306/schema \
--username=username \
--password=password \
updateSQL