【问题标题】:How to get SlowCheetah to transform SQL files如何让 SlowCheetah 转换 SQL 文件
【发布时间】:2019-12-09 19:46:10
【问题描述】:

Microsoft Slowcheetah website 状态

此包允许您在 Visual Studio 中按 F5 时自动转换您的 app.config(或任何文件)。

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

例如我想要的语句

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

转化为

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

这可以实现吗?

【问题讨论】:

  • 您在哪里看到了“任何文件”的准确引用? github.com/microsoft/slow-cheetah#supported-file-types 建议它只支持 XML 和 JSON 文件
  • @ADyson SlowCheetah - Visual Studio Marketplace此包允许您在 Visual Studio 中按 F5 时自动转换 app.config(或任何文件)。
  • @AlwaysLearning 嗯,对我来说看起来有点糟糕。带状部分还说“在构建时转换 xml 和 json 文件”。给出的所有示例也都与配置文件有关。
  • 我编辑了我的帖子以包含一个链接
  • 我想他们的意思是说“(或任何 XML 文件)”。

标签: sql visual-studio slowcheetah


【解决方案1】:

SlowCheetah 目前仅支持在 XML 文件上使用 XML Document Transforms 或在 JSON 文件上使用 JSON Document Transforms

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

【讨论】:

    【解决方案2】:

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

    我最终想出的解决方案是

    i) 手动编辑.sqlproj(卸载项目,右键,选择'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
    

    【讨论】:

      猜你喜欢
      • 2016-04-03
      • 2012-11-10
      • 2014-11-09
      • 2012-04-10
      • 2014-10-12
      • 2015-06-18
      • 1970-01-01
      • 2017-12-25
      • 2013-03-20
      相关资源
      最近更新 更多