如何使用 Visual Studio 中的 DACPAC 部署具有不同架构的对象

问题描述 投票:0回答:2

.NET 数据库部署解决方案,我们使用 DACPACS 创建和升级数据库(使用

DacPackage
DacDeployOptions
DacServices
类)。

默认架构在 SQL 项目属性中设置为

dbo
,因此所有数据库对象现在都在
dbo
架构中创建。

要求:我需要一个实现来创建/升级仅具有不同架构的存储过程和函数。忽略数据库中的其余对象(表、视图、触发器等)。

请建议:在这种情况下,除了

dbo
之外,如何创建/升级具有不同架构的对象?

sql-server dacpac
2个回答
0
投票

在您的 sqlproj 创建模式中,将新模式添加到项目中,使用以下命令创建文件 SchemaB.sql

CREATE SCHEMA [SchemaB]

然后在对象名称前面加上架构

CREATE TABLE [SchemaB].[Address]
(
    [Id] INT NOT NULL PRIMARY KEY,
    [Street] NVARCHAR(50) NOT NULL,
)

在部署选项中,您可以设置只想部署特定类型的对象,这些选项与您的项目一起存储在发布文件中,部署时将其用作 SqlPackage.exe 命令的输入。


0
投票

如果您使用 Visual Studio(使用 VS 2022):

  • 右键单击您的数据库项目
  • 选择添加/新项目
  • 选择安全
  • 选择架构
  • 命名您的 [yourSchemaName]

它应该创建一个名为“[yourSchemaName].sql”的文件,其中包含:

创建架构 [您的架构名称]

© www.soinside.com 2019 - 2024. All rights reserved.