SSDT正在更改不同环境的作用域凭据



我希望使用持续集成将我的SSDT项目部署到UAT和生产环境中,并使用指向azure数据湖的外部表。以下语句需要根据环境进行更改:-

CREATE DATABASE SCOPED CREDENTIAL [ScopeCredential]
WITH IDENTITY = N'KeyDetails'    , 
Secret = 'secretsuff';
CREATE EXTERNAL DATA SOURCE [DS1]
WITH (
TYPE = BLOB_STORAGE,
LOCATION = N'https://BlobDataDev.blob.core.windows.net/dir/MyProject/',
CREDENTIAL = [AzureStorageCredential]
);

我知道命令变量不能在这种情况下使用。确保这些在环境之间自动更改并与DACPAC的CI/CD版本部署配合使用的最佳方式是什么。

这需要在创建对象之前进行更改,因为如果凭据错误,create语句将挂起。

感谢

我提出的解决方案是使用sqlpackage.exe命令行上的params从部署中排除这些项目。当然,这些最初需要创建。

由于这些项目保持不变,这种方法似乎运行得相当好。

最新更新