我有一個Java Maven項目。我正在使用liquibase更新數據庫。在生產環境中執行liquibase更新
本地,更新我的分貝,我只是在命令行中運行:
mvn liquibase:update
在生產環境中,我沒有安裝Maven的做。
我需要實現的是通過控制檯,執行命令在特定的類路徑中運行liquibase腳本。
任何想法?
編輯:
好的。我試圖按照這種方法。我把一個文件夾中的以下項目:
liquibase罐子
戰爭包含我的應用程序和liquibase變更
liquibase.properties:它包含以下內容:
url = jdbc:jtds:sqlserver:// xxxxxxxx:xxxx/xxxxx
username = xxx
密碼= XXXXX
類路徑= war_file.war
changeLogFile = WEB-INF /類/ SQL/PROJECTNAME/liquibase/liquibase.xml
然後,在控制檯中,我執行:
java -jar liquibase-core-3.0.5.jar update
它的工作原理!它找到我的liquibase.xml文件並啓動liquibase更新。
,但是當它是指liquibase.xml是裏面包含在lib另一個jar文件,它失敗了,因爲我在liquibase.xml因爲它包括:
<include file="../other_module/src/main/resources/sql/projectName/liquibase/liquibase.xml" />
我怎麼可以添加此「包含」而不做「src/main/resources」並讓它找到這個xml?
你是什麼意思的「在特定的類路徑」?在命令行上運行liquibase時會出現什麼問題? – Jens
@Jens的事情是我需要直接在生產機器中執行更新,它沒有Maven(我們不想安裝它)。所以我找不到更新prod db的correctr過程是什麼。 – Adri
@Adri您已經從最初提出的問題大幅改變了問題。這是關於如何運行命令行客戶端的新問題。問題在於您的類路徑和您在liquibase文件中使用的文件系統路徑的組合。引用在運行時不存在的路徑....檢查war文件中的文件。你會發現沒有匹配的文件「../other_module/src/main/resources/sql/projectName/liquibase/liquibase.xml」 –