代码之家  ›  专栏  ›  技术社区  ›  Brian

在架构比较期间生成alter数据库的Visual Studio 2008数据库项目

  •  5
  • Brian  · 技术社区  · 15 年前

    我有一个新的Visual Studio 2008数据库项目(Data Dude)。它是通过指向我们现有的数据库生成的。我现在做了一些更改(新的列、表、索引等),并尝试生成用于部署的部署(diff)脚本。我有一个模式比较设置来进行比较并生成diff脚本文件。我想我已经调整了大部分比较设置,对象忽略了我需要的东西,但是在顶部我得到了一些我宁愿不生成的alter数据库命令。它们看起来像这样:

    IF EXISTS (SELECT 1
               FROM   [master].[dbo].[sysdatabases]
               WHERE  [name] = N'$(DatabaseName)')
        BEGIN
            ALTER DATABASE [$(DatabaseName)]
                SET ANSI_NULLS ON,
                    ANSI_PADDING ON,
                    ANSI_WARNINGS ON,
                    ARITHABORT ON,
                    CONCAT_NULL_YIELDS_NULL ON,
                    QUOTED_IDENTIFIER ON,
                    ANSI_NULL_DEFAULT ON,
                    CURSOR_DEFAULT LOCAL 
                WITH ROLLBACK IMMEDIATE;
        END
    
    
    GO
    IF EXISTS (SELECT 1
               FROM   [master].[dbo].[sysdatabases]
               WHERE  [name] = N'$(DatabaseName)')
        BEGIN
            ALTER DATABASE [$(DatabaseName)]
                SET PAGE_VERIFY NONE 
                WITH ROLLBACK IMMEDIATE;
        END
    
    
    GO
    

    我更喜欢调整设置,这样我就不必与我的15+成员团队通信,他们每次想要下拉并将最新的行部署到他们的环境中时,都需要从不同的文件中删除这些行。

    控制此的设置是什么?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Shoeless    15 年前

    在项目的.sqldeployment和.sqlsettings文件(可在解决方案资源管理器的项目属性文件夹中找到)中有控制此项的设置。可以在.sqlsettings文件中调整设置本身。[ DB Settings Screenshot ]在查看.sqldeployment设置时,可以在第一个复选框中找到禁用整个数据库属性脚本生成的功能。[ SQL Deployment Settings Screenshot ]

        2
  •  4
  •   Emil Filip    9 年前

    保存发布配置文件之前,必须取消选中两个复选框。确保转到“项目属性”->调试并取消选中“部署数据库属性”

    Click here to view screenshot

    然后右键单击数据库项目-->发布,然后单击“高级”取消选中“部署数据库属性”

    Click here to view screenshot

    单击“确定”,单击“将配置文件另存为”,从现在开始,每次使用刚刚创建的发布配置文件部署生成的脚本时,都将只包含所需的修改。

    我使用的是截至2016年4月20日的最新固态硬盘vs 2013。