【问题标题】:SQL Server database project functionality In Visual Studio 2019Visual Studio 2019 中的 SQL Server 数据库项目功能
【发布时间】:2021-12-18 02:57:30
【问题描述】:

我有一个在 VS 2019 中创建的 SQL Server 数据库项目。我在使用它方面还很陌生,并且有几个关于部署和预部署脚本的问题。我注意到我们的另一个团队使用带有预部署脚本的迁移表。我创建了一堆预部署脚本并将它们添加到 PreDacpac 文件夹中。据我了解,您只能拥有一个预部署脚本文件,那么将我的其余脚本包含在构建项目中并将它们包含在 dacpac 文件中的正确方法是什么?

如何确保在对表组进行任何修改之前先备份表数据? db项目里面有设置吗?

如果表中存在数据,还有谁知道在哪里关闭在构建脚本中向 RaisingError 插入代码的设置?

谢谢

【问题讨论】:

    标签: sql-server visual-studio


    【解决方案1】:

    预部署脚本

    当您添加预部署脚本时,顶部的注释说明了如何添加多个脚本:

     This file contains SQL statements that will be executed before the build script.   
     Use SQLCMD syntax to include a file in the pre-deployment script.          
     Example:      :r .\myfile.sql      
    

    基本上你有一个包含其他脚本文件的主文件。

    部署前备份数据库

    这取决于您的部署方法。从 Visual Studio 发布: 右键单击项目并选择发布。单击Advanced... 按钮以编辑高级发布设置。有一个选项“部署前备份数据库”。

    如果表中存在数据,则构建脚本中的 RaisingError?

    我不确定你的意思。但在高级发布设置中,默认情况下有一个属性“如果可能发生数据丢失,则阻止增量部署”。如果您取消选中此框,当您的迁移可能导致数据丢失时,发布将不会被阻止。如果表包含数据并且您添加了新列,则即使选中此按钮,迁移也不会被阻止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多