我正在使用VS,TFS和SSMS 2012.我们使用TFS源代码控制来实现源代码解决方案。我决定将我们的数据库添加到源代码控制中。我尝试了不同的方式:
在VS中创建新的SQL项目,添加到源代码管理,将数据库导入项目,签入
在SSMS中创建新项目,添加到源代码管理,从现有数据库创建脚本到项目,签入。
我不喜欢第一个解决方案,因为每次更改SSMS中的某些内容时,都应该在VS中进行模式比较,然后检入。
我也不喜欢第二种方式。每次更改某些内容时,都应该将更改脚本更改为项目,然后签入
有没有人知道如何在不使用红门的情况下做到这一点?
提前感谢您的帮助。
答案 0 :(得分:4)
在#1中,您将架构置于源代码管理之下,从那时起,您将针对架构而不是实时数据库进行工作。在进行更改时,您可以“编译”并将结果发布到本地数据库。
在#2中,您将继续对数据库进行更改,并将更改编写到源代码管理中。如果你想在这种模式下高效工作,你需要一个像ReadyRoll或Redgate这样的工具。
您的数据库应该受源代码管理,这就是您的操作方式。