BAT指令碼執行多個JAR的java客戶端 -Djava.ext.dirs
@echo off
title -資料庫版本管理工具-
color 2f
set CLASSPATH=%CLASSPATH%;
set PATH=%PATH%
set JAVA_HOME=%JAVA_HOME%
echo.-------------------資料庫版本管理-----------------
echo.
setlocal
echo.mainclass 執行的目標mian類
set mainclass=com.hand.hdmp.tools.integration.commandline.DbTools
echo.
echo.task deployment,version-upgrade,version-initialize-3個處理過程方法
echo. deployment-部署資料庫
echo. version-initialize-從資料庫生成資料庫版本管理檔案-初始化
echo. version-upgrade-從資料庫生成資料庫版本管理檔案-升級
set task=version-initialize
echo.
echo.method generate,dialect,xml,data四個處理過程方法
echo. generate: 生成db.changelog.log檔案
echo. dialect: 處理db.changelog.log檔案
echo. xml: 按模組生成表結構檔案
echo. data: 按模組生成表資料檔案
set method=generate,dialect,xml,data
echo.
echo.filepath 指令碼安裝部署檔案所在目錄
set filepath=C:\Users\Administrator\Desktop\hdmp
echo.
echo.xmlmodules xmlmodules:可配置按模組執行,也可執行明細模組的明細表
echo. 整個模組下的所有表如:dbm[all],sys[all]
echo. 模組下的某些表如:dbm[dbm_datasource#tab1#...]sys[sys_user#tab2#...]
set xmlmodules=act[all],alm[all],dbm[all],dc[all],dd[all],dm[all],dr[all],hrp[all],ifm[all],mdm[all],pth[all],ptm[all],rdo[all],sys[all],tsp[all]
echo.
echo.datamodules datamodules:可配置按模組執行,也可執行明細模組的明細表
echo. 整個模組下的所有表如:dbm[all],sys[all]
echo. 模組下的某些表如:dbm[dbm_datasource#tab1#...]sys[sys_user#tab2#...]
set datamodules=act[all],alm[all],dbm[all],dc[all],dd[all],dm[all],dr[all],hrp[all],ifm[all],mdm[all],pth[all],ptm[all],rdo[all],sys[all],tsp[all]
echo.
echo.filename generate-生成db.changelog.log檔名
set filename=db.changelog.xml
echo.
echo.username 資料庫使用者名稱
set username=hap_prod_230_241
echo.
echo.password 資料庫密碼
set password=hap_prod_230_241
echo.
echo.url 資料庫URL連線
set url=jdbc:oracle:thin:@localhost:1521:orcl
echo.
echo.driverjar 資料庫驅動jar名
set driverjar=ojdbc7-12.1.0.1.0.jar
echo.
echo.driver 資料庫驅動類名
set driver=oracle.jdbc.driver.OracleDriver
echo.
echo.dataconfig loaddata/loadupdatedata/auto 三種資料匯入處理型別
echo. loaddata: 匯入資料如果有主鍵,根據主鍵判斷如果資料存在則更新,不存在則新增,如果出現重複資料則不允許匯入報錯
echo. loadupdatedata: 匯入資料如果有主鍵,根據主鍵判斷如果資料存在則更新,不存在則新增,如果出現重複資料,允許匯入,但是隻匯入最後一條重複的資料
echo. auto: 根據表是否有主鍵來判斷,有主鍵則按loadupdatedata處理、無則按loaddata處理
set dataconfig=loaddata
echo.versionno 版本號
set versionno=v2.4.0
echo.
echo.author 建立者
set author=hdmp
echo.
echo.defaultstartvalue 序列預設初始化開始值
set defaultstartvalue=1000000
echo.
echo.dbcommand 對應liquibase執行的資料庫命令如update,generateChangeLog等
set dbcommand=generateChangeLog
echo.
echo.command 最終執行的完整命令語句,如下:
echo.
set command=java -Djava.ext.dirs=%filepath%\lib %mainclass% task=%task% method=%method% dataconfig=%dataconfig% filepath=%filepath% xmlmodules=%xmlmodules% datamodules=%datamodules% filename=%filename% username=%username% password=%password% url=%url% driverjar=%driverjar% driver=%driver% dbcommand=%dbcommand%
echo %command%
echo.
@pause
%command%
echo.------------------資料庫版本初始化完成------------------
@pause
exit