JHipster 已經在POM.XML 做好 Liquibase的基本設定, 因此在JHipster Code Generate 出的專案中, 可以直接利用 Maven指令, 在Project 目錄下利用 mvn 的 command line 指令, 即可Reverse database schema 以及Diff出schema與 data 的修改.
1. 設定說明
2. 利用 Reverse 產出全部資料的 XML
mvn -P dev liquibase:generateChangeLog
-P : 指定Spring boot 在 Maven 定義的Profile
generateChangeLog: reverse 全部資料
mvn -P dev liquibase:generateChangeLog -Dliquibase.outputChangeLogFile=./test.xml
-Dliquibase.outputChangeLogFile: 自指定產出的XML檔案, 未指定則輸出到console
3. 利用 Diff 產出資料修改的 XML
mvn liquibase:diff
Spring boot預設的Profile與在pom.xml 設定在 <referenceUrl> 的料庫比對
mvn -P prod liquibase:diff
-P : 指定Spring boot 在 Maven 定義的Profile, 與在pom.xml 設定在 <referenceUrl> 的料庫比對
4. 利用updateSQL產出SQL指令( 不直接對資料庫下指令)
mvn liquibase:updateSQL
5. 利用dropAll指令清除所有table
mvn -P prod liquibase:dropAll
5. 利用clearCheckSums指令清除所有CheckSums以避免checkSum Error
mvn -P prod liquibase:clearCheckSums
5. 利用Batch 指令執行Liquibase的Sample
// 從資料庫Reverse為Liquibase XML檔, 將changeLogFile附檔名改為.json即可改JSON格式
liquibase --driver=com.mysql.jdbc.Driver --classpath=.\mysql-connector-java-5.1.38.jar --changeLogFile=db.changelog.xml --url="jdbc:mysql://localhost:3306/dev?useUnicode=true&characterEncoding=UTF-8" --username=pollex --password=pollex123 generateChangeLog
// 連同 Data 一起 Reverse
liquibase --driver=com.mysql.jdbc.Driver --classpath=.\mysql-connector-java-5.1.38.jar --changeLogFile=db.changelog.xml --url="jdbc:mysql://localhost:3306/dev?useUnicode=true&characterEncoding=UTF-8" --diffTypes=data --username=pollex --password=pollex generateChangeLog
//產出對資料庫建資料的SQL SCRIPT
liquibase --driver=com.mysql.jdbc.Driver --classpath=.\mysql-connector-java-5.1.38.jar --changeLogFile=db.changelog.json --url="jdbc:mysql://localhost:3306/dev?useUnicode=true&characterEncoding=UTF-8" --username=pollex --password=pollex updateSQL > dbscript.sql
--diffTypes=data,tables,columns,views,primaryKeys,uniqueConstraints,indexes,foreignKeys,sequences
沒有留言:
張貼留言