我当前的 C# 项目开发环境是 Visual Studio,带有 SQL Server 数据库并使用 VisualSVN 连接到我的 SVN 存储库。为了管理存储过程、 View 等的修订,我将 ALTER 脚本保存到 SVN 客户端监视的文件夹中,以便将它们包含在存储库中。
我查看了一些(现在较旧的)帖子,例如此帖子( How to keep Stored Procedures and other scripts in SVN/Other repository? 和 Is there a SVN plugin for SQL Server Management Studio 2005 or 2008? ),并看到了对这些工具的推荐: http://www.red-gate.com/products/sql-development/sql-source-control/和 http://www.zeusedit.com/agent/ssms/ms_ssms.html 。
由于我很少处理进行大量数据库端编程的项目,因此这从来都不是一个大麻烦(具有某种命名方案的文件夹中的十几个脚本不需要手动管理),但我刚刚继承了一个项目数百个 View 和 1000 多个存储过程从未包含在版本控制中。
我的问题是:
其他人遵循什么流程来管理其 SQL Server 代码的版本控制 - 是否存在我在这里缺少的可接受的、聪明或其他明显的方法?我目前倾向于购买上述工具之一 - 但在这样做之前我正在寻求社区的建议。
我意识到这可能会导致工具推荐而不是代码解决方案,但发布到 SO,因为我认为这是向其提出此问题的合适人群。
最佳答案
我建议您使用 redgate 工具之类的工具,并以与处理 C# 源代码相同的方式处理任何 SQL 数据库;随着修改数量的增加,手动跟踪 ALTER 语句将会使您陷入困境。不能代表 zeus 编辑工具,但使用了 redgate 工具后,它“就可以工作”——以及使用像这样的工具是它可以管理你的迁移脚本,这样你就可以对你的开发版本进行大量更改,然后生成一个更新脚本来更新你的测试数据库等,包括数据更改,恕我直言,这是手动管理的最大的 PITA .
要考虑的另一件事是,即使更改次数很少并且您可以手动跟踪 ALTER 语句,但如果其他人最终在同一个项目上工作怎么办?现在您还有另一个潜在的管理不善的更改脚本......
无论如何,请告诉我们您的进展情况,祝您好运!
关于sql-server - 将存储过程提交到 SVN 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14865200/