2012-11-14 14 views
5

看起來像Visual Studio Database Project不解析SQLCMD - 進行模式比較的變量。是否有選項來分析在Visual-Studio模式比較中進行比較的SQLCMD變量?

我所有的同義詞看起來像

CREATE SYNONYM [dbo].[addressesExtDB] FOR [$(ExtDB)].[dbo].[addresses]; 

,但他們一直被報告爲從數據庫不同。

當我與其中VAR ExtDB設置爲'ExtDBnn'在數據庫中造成Synonym正確'Specify SQLCMD Variabeles...' -settings更新模式是否正確設定爲:

CREATE SYNONYM [dbo].[addressesExtDB] FOR [ExtDBnn].[dbo].[addresses]; 

一個重新比較動作顯示所有同義詞訛爲再次不同。 因此,比較應解析sqlcmd-variabeles並使用結果與數據庫進行比較。 我是否錯過了做這個或者某個事情的選項,或者您是否遇到過相同的問題並以某種方式找到解決方案?

回答

0

不,變量不會傳遞給VS中的模式比較(您可以通過例如將您自己的貢獻者添加到項目中來驗證這一點)。

有趣的是,即使使用SqlPackage.exe,變量也只傳遞給源,而不是目標。

當面對這個問題時,我完成了從數據庫中提取的.dacpac文件中的數據庫名稱 - >變量替換 - 所有的工作方式,即使它是相當黑客。