VS2012 Sql server项目中的自定义脚本文件

时间:2014-07-11 10:35:26

标签: visual-studio-2012 database-project sql-server-data-tools database-deployment

我应该将数据库迁移到VS2012 sql server项目中。我已经从目标数据库导入了所有模式。种子数据将添加到项目中的Post-Deployment脚本中。但是我也预见到开发人员在处理各种增强功能时会添加很多脚本。这些可以是更改模式脚本以及数据添加编辑删除脚本。并且所有这些都必须在部署后按顺序运行,理想情况下是脚本名称,1.0.0.0执行后跟1.0.0.2,然后是1.0.1.0。 SQL Server项目不允许多个部署后文件。我在网上找到的就是如何创建项目,而没有人谈论创建一个结构,该结构将考虑开发人员在不同发布周期中所做的更改(更改脚本)。有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

Schema Comparison无需编写自己的alter脚本代码。模式比较通过将数据库项目的模式与数据库服务器进行比较,自动为您创建alter脚本。

这是一个很好的walk-through of Schema Comparison

答案 1 :(得分:0)

好的,这是我到目前为止所做的。

  • 跟随Keith的输入并创建了一个项目
  • 用于处理基于架构的更改的架构比较
  • 使用Build Action = PostDeploy
  • 创建了一个主脚本
  • 对于数据脚本,创建的文件夹命名为版本,以根据不同版本分隔脚本
  • 使用以下语法在Master post deploy脚本中添加了这些脚本的条目:r Folder \ MyScript.sql

这暂时可以使用,但应该有更好的方法来确保文件夹中的自定义脚本在Master post-deploy脚本中自动获取。使用此解决方案,开发人员每次添加脚本时,都必须在主部署脚本中创建一个条目(:r MyCustomeDataScript.sql)

我认为可能有更好的方法来做到这一点,但我不知道它。我正在努力找到一种方法,可以自动在主部署脚本中手动输入新脚本。