如何使用liquibase生成數(shù)據(jù)庫更新sql?
老的后臺項目還在使用mybatis,每次發(fā)布都需要同步測試數(shù)據(jù)庫的結(jié)構(gòu)到生產(chǎn)庫上.
結(jié)構(gòu)變更的SQL除了日常開發(fā)記錄下來,可能還會有一些因為不規(guī)范而漏掉的.或者在升級完成之后需要再次確認的,用liquibase來做這件事就非常的方便了.
比較數(shù)據(jù)庫差異
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