删除并重新创建数据库项目中的所有对象

时间:2019-03-27 02:08:07

标签: sql-server visual-studio sql-server-2016 devops

我在Visual Studio Team Services Git中有一个数据库项目,并且想要部署到实际服务器上的数据库中。

(a)发布配置文件中是否存在设置以删除所有对象并重新创建?
(b)还是有一个设置可以创建整个DDL脚本,而不仅仅是查找架构比较差异?要从Visual Studio进行此操作,我知道SSMS可以选择为所有对象生成脚本。

想要对所有表,存储过程,视图进行操作,而不仅仅是下面的简单示例。计划每天重新部署和重新填充数据仓库。

例如,在源代码控制数据库项目中说这句话。

源代码管理:

create procedure dbo.SelectTestOne
as 
select 1

localdb上的实际服务器是

本地服务器差异:

create procedure dbo.SelectTestOne
as 
select 2

预部署脚本:

如果我创建一个Script.PreDeployment来删除所有对象,

drop procedure dbo.SelectTest

最终自动发布配置文件脚本仍然会进行更改,而不是重新创建。那么问题是如何删除所有对象并重新创建它们? (我知道Redgate有此选项)

drop procedure dbo.SelectTest
GO

GO
PRINT N'Altering [dbo].[SelectTest]...';


GO
ALTER procedure dbo.SelectTest
as 

select 1
GO
PRINT N'Update complete.';


GO

注意:我不想使用Always-Recreate数据库,只想删除数据库中的所有对象Tables,Sprocs,Views。我不想丢失我们的数据或重新配置登录名。 Database Project to Drop Database before deploy?

这是针对devop的自动部署过程,我们只想每天凌晨2点钟下班重新部署并填充到同一数据库中。

0 个答案:

没有答案