1

我在SQL Server 2008我的解决方案中添加了一个数据库项目,Visual Studio 2010 Professional Edition希望它可以让我将我的数据库包含在版本控制中。

我可以将每个数据库对象的架构文件提交到版本控制中,但是这些架构文件所有的脚本对象都是create而不是alter,所以对于大学获取我的更改和更新他们的数据库来说并不好。

这是让我的数据库进入源代码控制的好方法吗?

实际使用它将数据库更新到给定修订版而不丢失与删除和重新创建所有表相关的所有数据的工作流程是什么?

更新:在 Premium 和 Ultimate 版本上,有一个架构比较工具可以轻松完成。这在 Professional 上不存在。有没有简单的手动解决方法?

4

2 回答 2

1

我不确定您是否可以在 VS 2010 Professional 中执行此操作,但在 VS 2010 Premium 中,您可以在项目和数据库之间进行架构比较(数据 -> 架构比较 -> 新架构比较),并更新其中任何一个中的更改方向。

从项目到数据库时,VS 会生成一个脚本,将现有数据复制到临时表中,然后再删除现有数据。

于 2011-10-11T14:15:56.333 回答
1

数据库项目有一个部署步骤(在我的专业版 VS2010 中),它将生成一个包含您的 sql 对象的 sql 脚本。

这里的关键是,如果您右键单击项目、属性、goto deploy 并将目标数据库设置更改为特定数据库,当您部署它时,它将为该特定数据库生成一个更改脚本,以便它与项目中的对象匹配(以及理论上保留现有数据等)。

你可以让它生成一个 sql 脚本,或者直接更新数据库。生成脚本可能是一个更好的主意:)

于 2012-01-13T06:53:53.290 回答