所以最近在我正在进行的一个项目中,我们一直在努力保持解决方案的代码库和相关的数据库模式同步(数据库 = SQL Server 2008)。
数据库更改相当频繁地发生(添加列、约束、关系等),因此人们从源代码管理中执行“获取最新”并发现他们也需要重建数据库并不少见(有时他们忘记做后者)。
我们没有使用 VSTS:数据库版 (DataDude),而是使用带有脚本(批处理文件)的标准 Visual Studio 数据库项目,该脚本从 T-SQL 脚本中拆除并重新创建数据库。该解决方案是一个 .Net 和 ASP.net 解决方案,使用 LINQ to SQL 作为 ORM 底层。
任何人都对采取的方法(无论是否自动)有想法,这将使每个人都了解最新的数据库模式?
与 MSBuild 的持续集成是一种选择,但仅有助于获取任何已提交的重大更改,在我上面强调的场景中并没有真正的帮助。
如果有帮助,我们正在使用 Team Foundation Server。