如何让 SlowCheetah 转换 SQL 个文件

How to get SlowCheetah to transform SQL files

Microsoft Slowcheetah website 状态

This package allows you to automatically transform your app.config (or any file) when you press F5 in Visual Studio.

我有一个 SQL 服务器 VS 解决方案,它需要依赖于配置的用户和登录名。如果我能弄清楚转换文件应该是什么样子,Slowcheetah 将是一个很好的解决方案。

例如我想要声明

CREATE LOGIN [DEVDOMAIN\ReadonlyUser] FROM WINDOWS DEFAULT_DATABASE = MyDb_Dev;

转换为

CREATE LOGIN [TESTDOMAIN\ReadonlyUser] FROM WINDOWS DEFAULT_DATABASE = MyDb_Uat;

这是可以实现的吗?

SlowCheetah currently only supports using XML Document Transforms on XML files or JSON Document Transforms JSON 个文件。

如果您可以将您的用户数据转换为其中一种格式,您将被设置,否则...

因此据任何人所知这是不可能的。我也没有运气试图根据 selected 构建配置将文件加载到项目中。这似乎是 VS Sql 项目的一个特性。

我最后想到的解决办法是

i) 手动编辑.sqlproj(卸载项目,右击,select 'edit')加入

<ItemGroup>
  <None include="dbo\Security\users\ReadonlyUser\DEV_Login.sql"  
  <None include="dbo\Security\users\ReadonlyUser\UAT_Login.sql"
  <!-- et cetera -->
</ItemGroup>

ii) 添加另一个项目组

<ItemGroup>
  <Build include="dbo\Security\users\ReadonlyUser_Login.sql"   
</ItemGroup>

iii) 重新加载项目并添加构建事件(预构建事件命令行)

Copy $(ProjectDir)\dbo\Security\users\ReadonlyUser$(Configuration)_Login.sql $(ProjectDir)\dbo\Security\users\ReadonlyUser_Login.sql