4

我喜欢使用 SQL Server Management Studio 来更改和更新我的数据库。它比我自己编写更改更容易、更快、更安全。

我正在研究对数据库使用某种版本控制,并阅读了有关在 Visual Studio 2010 中使用 SQL Server 数据库项目的信息。

我编写了一个现有数据库的脚本并将其导入到一个新的 SQL Server 数据库项目中。现在,据我所知,没有用于编辑数据库的 GUI;如果不自己编写脚本,我就无法添加列、更改数据类型或编辑现有数据。例如,在 SQL Server Management Studio 中,我可以右键单击表名并选择“设计”,然后从那里添加/编辑列、更改数据类型等。

虽然 Visual Studio 的数据库项目具有 SQL Management Studio 所没有的一些功能,但我认为如果没有“表设计器”,我将无法生存。

VS 的数据库项目中是否有内置表设计器,我只是没有看到?

4

4 回答 4

3

我已经使用 VS2008 数据库项目大约 10 个月来进行版本控制。时不时我仍然使用表格设计器,它是一个快速简便的工具。我相信您的大部分问题都围绕着工作流程,因为这是我发现在版本控制环境中开发最具挑战性的部分。我建议继续在 Management Studio 中设计您的对象,或者如果您觉得舒服,然后执行创建脚本并将该脚本导入您的数据库项目。执行此操作时有一些怪癖,即使您在环境中执行更改,您也需要始终编写 create 语句的脚本。您还需要删除数据库的任何 USE 语句作为您的上下文

我们发现,对我们来说,促进代码部署的一个成功的工作流程是拥有一个分支到 Main(开发分支)的生产分支,然后进行测试。所有新开发都在 Main 中完成,并根据需要通过变更集合并到彼此的环境中。

您可以通过右键单击解决方案并单击导入脚本从开发环境中导入脚本。我建议您检查所有选项以覆盖现有对象、导入扩展属性和导入权限。

于 2011-03-02T14:33:27.897 回答
3

不,没有桌子设计师。

如果你开始考虑版本控制你的数据库,你也应该考虑编写实际的 SQL 来实现你的数据库对象。这就是数据库项目迫使您失望的路线。如果您不能为您的数据库更改编写 SQL,您将如何查看和了解 6 个月前的表与当前项目中的表之间的差异?

于 2011-03-01T15:47:03.050 回答
1

使用 SSMS 的 GUI 工具更改数据库架构后,您可以使用数据库项目的架构比较工具来更新您的项目文件(将源设置为您的数据库,将目标设置为您的项目)。这样您就可以继续使用 GUI 工具来管理模式,并且数据库项目将管理版本控制。

于 2013-05-07T17:21:39.537 回答
0

Visual Studio 2010 数据库项目中没有可视化表设计器。但是,关于数据库的版本控制,有一个解决方法——您可以将 SQL Server Management Studio 与 Red Gate 的SQL Source Control一起使用。
它需要一些钱,但绝对值得。

于 2011-09-19T13:44:26.940 回答