SSDT:如何在代码中配置 SchemaCompare 对象设置
SSDT: How to configure SchemaCompare Object settings in code
如何编辑 SchemaComparison 对象中的 SchemaCompare 设置?
$SchemaComparison = [SchemaComparison]::new($SourceEndPoint, $TargetEndPoint)
$SchemaComparison.Options = $DeployOptions
我特别希望删除数据库选项,但 SchemaCompare 设置似乎无法通过代码访问:
$SchemaComparison.Options.ExcludeDatabaseOptions #(选项对象未知 属性)
$SchemaComparison.SettingsService #(未知 属性)
如何在代码中执行我可以通过 SSDT 比较轻松完成的操作 UI?
我找到了答案。在选项对象中隐藏了一个 excludedObjects 属性。它是一个 ObjectType 枚举数组:
$SchemaComparison.Options.ExcludeObjectTypes += [ObjectType]::Aggregates
$SchemaComparison.Options.ExcludeObjectTypes += [ObjectType]::ApplicationRoles
$SchemaComparison.Options.ExcludeObjectTypes += [ObjectType]::Assemblies
您可以排除任何您想要的。 MSDN 在此处包含列表:
https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dac.objecttype.aspx
如何编辑 SchemaComparison 对象中的 SchemaCompare 设置?
$SchemaComparison = [SchemaComparison]::new($SourceEndPoint, $TargetEndPoint) $SchemaComparison.Options = $DeployOptions
我特别希望删除数据库选项,但 SchemaCompare 设置似乎无法通过代码访问:
$SchemaComparison.Options.ExcludeDatabaseOptions #(选项对象未知 属性)
$SchemaComparison.SettingsService #(未知 属性)
如何在代码中执行我可以通过 SSDT 比较轻松完成的操作 UI?
我找到了答案。在选项对象中隐藏了一个 excludedObjects 属性。它是一个 ObjectType 枚举数组:
$SchemaComparison.Options.ExcludeObjectTypes += [ObjectType]::Aggregates
$SchemaComparison.Options.ExcludeObjectTypes += [ObjectType]::ApplicationRoles
$SchemaComparison.Options.ExcludeObjectTypes += [ObjectType]::Assemblies
您可以排除任何您想要的。 MSDN 在此处包含列表:
https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dac.objecttype.aspx