gpt4 book ai didi

database - Visual Studio 2010 数据库项目部署到不同的环境

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:39 24 4
gpt4 key购买 nike

我有一个数据库项目,它适用于我的本地 MSSQL 2008 数据库。

它在 scripts/post-deployment 下有一个脚本,可以将常设数据配置插入到设置表和其他表中。我为每个表准备了 1 个文件,例如一个 Setting.sql 文件,用于将数据插入设置表。

设置将根据我部署到的数据库而有所不同。

我该如何编写脚本?基本上我希望能够说 2 个文件,

Prod.Setting.sql 和 Dev.Setting.sql 以及 VS 2010 将根据我部署到的数据库(环境)使用适当的脚本。

最佳答案

完全可行,但有两个选项和几个步骤。您可以拥有一组完整的重复脚本,每个脚本对应一个配置。或者,您可以拥有一组脚本,其内容考虑了您正在使用的配置。我将选择第一个,并保持简单。

创建两个解决方案配置,或者根据需要使用 Debug 和 Release。我将使用这些作为示例。

对于每个配置,创建一个新的 .sqlcmdvars 文件。

Database_Release.sqlcmdvars
Database_Debug.sqlcmdvars

将您的解决方案配置切换到每个,并在数据库项目属性中更改变量文件下拉列表以指向您创建的相应文件。

在每个文件中,您都可以定义要在部署期间使用的变量。在每个中创建一个新变量

$(DeploymentConfiguration)

并将其值设置为 Debug 或 Release

然后在您的任何部署前或部署后脚本中,您可以执行如下操作:

IF '$(DeploymentConfiguration)' = 'Debug'
BEGIN
PRINT 'Executing Debug deployment'
:r .\Debug\SomeNeededScript.sql
END

IF '$(DeploymentConfiguration)' = 'Release'
BEGIN
PRINT 'Executing Release deployment'
:r .\Release\Anotherscript.sql
END

关于database - Visual Studio 2010 数据库项目部署到不同的环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com