【问题标题】:Visual Studio Database Project and SQL Server ManagementVisual Studio 数据库项目和 SQL Server 管理
【发布时间】:2011-03-01 15:38:15
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: sql visual-studio ssms database-project


    【解决方案1】:

    不,没有表格设计器。

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

    【讨论】:

    • 首先,感谢您的回答。 --- 当然,我可以为这些数据库对象编写实际的 SQL;我也可以避免使用 Linq,因为我可以自己编写所有查询。表设计器是一个很棒的数据库设计工具,我非常熟练地使用它。 --- How are you going to be able to review and appreciate a diff between how a table was 6 months ago - 我不知道你为什么认为如果有一个表格设计器,你以后就不能查看差异。
    • @David - 抱歉,答案仍然是否定的。我个人的经验是,我编写 SQL 比尝试使用设计器更有效率,而且我从大多数人那里得到的印象是他们有过类似的经历。但如果你想要表格设计器,你将不得不坚持使用 SSMS。
    【解决方案2】:

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

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

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

    【讨论】:

    • 我不得不同意......但是,到目前为止,阅读到这一点的任何人也应该在创建和更改表格时记住一些简单的命令确实是你最好的选择。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多