在我的sql项目中,我有这样的脚本。此文件包含build action = Build
。
这意味着这个sql代码将放在model
文件中(sql server dac包文件)。
CREATE TABLE [dbo].[Class] (
[Id] SMALLINT NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
);
我想制作build action = None
并将此代码放在发布dacpac的部署文件中。
但是当我第二次将这个dacpac部署到db时,我会收到错误。
"已经有一个名为' Class'在数据库"
当此代码放在模型dacpac文件中时,我不会收到此错误。
如何通过postdeploy文件将架构更改推送到db?
我应该使用手动迁移脚本吗?
答案 0 :(得分:1)
IF NOT EXISTS(
SELECT 1 FROM sys.objects where name='Class'
AND type='U'
)
Begin
CREATE TABLE [dbo].[Class] (
[Id] SMALLINT NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
);
END