使用Liquibase我想申請多個變更集,但第一個是恢復的數據庫腳本如下:LIQUIBASE從MSSQL備份恢復失敗
<changeSet id="0" author="me" context="test or dev">
<sql >
RESTORE DATABASE CleanDB
FROM DISK = '\\SomePublic\DevDB.bak'
WITH REPLACE;
</sql>
</changeSet>
<!-- here many changes go -->
注CleanDB
是新的空現有的數據庫。我的連接URL指定DevDB
作爲目標,並期待:url=jdbc:sqlserver://SomePublic;databaseName=CleanDB
在執行過程中我已經得到了錯誤:
liquibase: RESTORE cannot process database 'CleanDB' because it is in use by this session. It is recommended that the master database be used when performing this operation.
所以我的問題:如何申請Liquibase腳本清除數據庫應該從一些備份恢復?
不能恢復到您所連接的數據庫。您需要將JDBC URL更改爲**而不是**包括數據庫名稱 –
@a_horse_with_no_name太棒了,那麼如何將其餘更改應用於我的'CleanDB'? – Dewfy
您可以嘗試添加「USE master; GO;」作爲第一行。只是一個猜測。 – SteveDonie