我应该将数据库迁移到 VS2012 sql server 项目中。我已经从目标数据库中导入了所有模式。种子数据将添加到项目中的部署后脚本中。但是,我也预见到开发人员在进行各种增强时会添加许多脚本。这些可以是更改模式脚本以及数据添加编辑删除脚本。并且所有这些都必须按顺序运行部署后,理想情况下是脚本名称执行 1.0.0.0,然后是 1.0.0.2,然后是 1.0.1.0。SQL Server 项目不允许多个部署后文件。我在网上只能找到如何创建一个项目,而没有人谈论创建一个结构,该结构将考虑到开发人员在不同发布周期中所做的更改(更改脚本)。有人可以在这里帮助我吗?
问问题
721 次
2 回答
1
模式比较消除了编写您自己的更改脚本的需要。模式比较通过将数据库项目的模式与您的数据库服务器进行比较,自动为您创建更改脚本。
这是 Schema Comparison的一个很好的演练。
于 2014-07-11T14:02:23.443 回答
1
好的,这就是我到目前为止所做的。
- 遵循 Keith 的意见并创建了一个项目
- 使用模式比较来处理基于模式的更改
- 使用 Build Action = PostDeploy 创建了一个主脚本
- 对于数据脚本,创建名为版本的文件夹,以根据不同版本隔离脚本
- 在主部署后脚本中添加了这些脚本的条目,语法为 :r Folder\MyScript.sql
这暂时可行,但应该有更好的方法来确保在主部署后脚本中自动拾取文件夹中的自定义脚本。使用此解决方案,开发人员每次添加脚本时,都必须在主部署脚本中输入一个条目(:r MyCustomeDataScript.sql)
我认为可能有更好的方法来做到这一点,但我不知道。我正在努力寻找一种方法,可以自动在主部署脚本中手动输入新脚本。
于 2014-07-14T08:46:19.720 回答