发布脚本以仅部署特定的已定义表/存储过程/函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发布脚本以仅部署特定的已定义表/存储过程/函数相关的知识,希望对你有一定的参考价值。

我想创建一个发布脚本配置文件,以仅部署特定的表和存储过程。当这个publish.xml脚本部署时,我希望它确保现有目标数据库(表,存储过程,函数等)上的所有内容都不受影响,并且只部署新项目中定义的表sprocs和函数。

看起来微软已经发布了新的高级发布设置 - 除了部署我在新数据库解决方案中定义的新表/ sprocs之外,我需要哪些设置来确保目标数据库上没有任何更改?

注意:目标数据库与我的新数据库项目具有相同的名称,目标数据库中的表/ sprocs / functions不在我的本地新数据库项目中。我只想在我的本地数据库项目上部署不在目标中的更改,同时确保目标上的数据/模式不受影响。

谢谢

答案

在go语句和create语句之间,可以使用各种元数据检查来有条件地执行create语句。

go
if object_id('SampleTable') is null
begin
    create table SampleTable
    (
        ID int identity(1,1) primary key,
        sampleField int
    )
end
GO

从历史上看,MS数据库项目一直没有帮助。

以上是关于发布脚本以仅部署特定的已定义表/存储过程/函数的主要内容,如果未能解决你的问题,请参考以下文章

获取 DB2 的已删除存储过程和函数的详细信息

如何从 Visual Studio 数据库项目部署特定对象?

powershell 使用PowerShell导出MSSQL架构。此脚本将导出表,存储过程,触发器,函数和视图的模式定义

存储过程和函数之间有几个区别

Mysql存储过程和函数区别介绍

如何导出存储过程函数包和触发器的定义语句?如何导出表和索引的创建语句?