我有一个新的Visual Studio 2008数据库项目(数据伙计)。它是通过指向我们现有的数据库而生成的。我现在做了一些更改(新的列,表,索引等),我正在尝试生成用于部署的部署(diff)脚本。我有一个Schema Comparison设置来做比较并生成diff脚本文件。我想我已经调整了大部分比较设置和对象忽略,但是,在顶部,我得到了一些我不想生成的ALTER DATABASE命令。他们是这样的:Visual Studio 2008数据库项目在模式比较期间生成ALTER DATABASE
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+成员组成的团队,他们需要从差异文件,他们希望每次删除这些行沟通将最新版本下载并部署到他们的环境中。
什么设置控制这个?
只需在答案中增加一些细节即可。当我们从现有数据库生成SQL项目时,我们必须错过从数据库生成SQLSettings的选项,而是选择使用db(数据伙伴)项目的“默认”设置。所以,我的当前数据库没有设置这些选项,所以它希望将它们设置在我的“差异脚本”生成中,因为它们是在“默认”sqlsettings文件中指定的,但实际上并不在我的数据库中。我仍然希望禁止它们生成代码,但它更多的是要确保您首次生成干净的数据库项目 – Brian 2010-08-23 03:08:56