我在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点钟下班重新部署并填充到同一数据库中。