使用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