【发布时间】:2014-07-11 10:35:26
【问题描述】:
我应该将数据库迁移到 VS2012 sql server 项目中。我已经从目标数据库中导入了所有模式。种子数据将添加到项目中的部署后脚本中。但是,我也预见到开发人员在进行各种增强时会添加许多脚本。这些可以是更改模式脚本以及数据添加编辑删除脚本。所有这些都必须按顺序运行部署后,理想情况下是脚本名称执行 1.0.0.0,然后是 1.0.0.2,然后是 1.0.1.0。 SQL Server 项目不允许多个部署后文件。我在网上只能找到如何创建一个项目,而没有人谈论创建一个结构,该结构将考虑到开发人员在不同发布周期中所做的更改(更改脚本)。有人可以在这里帮助我吗?
【问题讨论】:
-
为了使用多个部署后脚本,您需要将您的一个主要部署后脚本标记为构建类型的“部署后”,然后在该脚本中使用“:r .\script.sql" 包含实际脚本的 sqlcmd 语法。然而,正如 Keith 所指出的,您应该让项目处理 99% 的情况下的模式更改。这就是它的设计目的。很少,您可能必须在部署后脚本中进行架构更改,但在必要之前,我会尽量避免它。
-
是的,部署后架构更新脚本的需求应该非常少。你真的有需要吗?如果有,你能举个例子吗?
-
除了模式更新之外,多个数据插入更新脚本是我的担心。表的种子数据会随着产品功能的增加而增加。例如,如果我正在创建一个贷款管理系统,我会在表中播种 Loan(InProcess、Rejected、Granted)的状态。同样,对于每个正在处理的增强/故事可能需要一些种子数据存在于系统中。我无法理解这将如何处理。当然,将所有这些数据放在一个部署后脚本中并不是一个好主意。
标签: visual-studio-2012 database-project sql-server-data-tools database-deployment