database - 如何保持代码库和数据库模式同步?

标签 database visual-studio orm tfs schema

最近,在我正在进行的一个项目中,我们一直在努力使解决方案的代码库和相关的数据库架构保持同步(数据库 = SQL Server 2008)。

数据库变化相当频繁(添加列、约束、关系等),因此人们从源代码控制中进行“获取最新”并不少见 发现他们也需要重建数据库(有时他们忘记做后者)。

我们没有使用 VSTS:数据库版 (DataDude),而是使用带有脚本(批处理文件)的标准 Visual Studio 数据库项目,该脚本可从 T-SQL 脚本中拆除并重新创建数据库。该解决方案是一个 .Net 和 ASP.net 解决方案,其中 LINQ to SQL 作为 ORM 底层。

是否有人对采用(自动化或非自动化)方法有想法,这将使每个人都了解最新的数据库架构?

与 MSBuild 的持续集成是一种选择,但只能帮助获取任何已提交的重大更改,在我上面强调的场景中并没有真正帮助。

如果有帮助,我们正在使用 Team Foundation Server..

最佳答案

我们尝试从创建脚本开始工作。

即除非脚本已经过测试并 checkin 源代码管理,否则不会授权对数据库进行更改。

但这假设数据库团队与您的应用程序团队整合在一起,而在大型项目中通常情况并非如此......

(我很想“好不容易”回答这个问题)

编辑:如果您的流程不正确,工具将无济于事。

关于database - 如何保持代码库和数据库模式同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/445800/

相关文章:

database - 文件夹搜索算法

java - 可空孙子关联的左连接提取导致 hibernate 中的 NPE

java - 修改 JDBC 代码以针对 Inesrt/Update/Deletions 的多个数据库服务器

c# - "Doesn' 尝试连接到域时没有访问域所需的权限

javascript - Visual Studio ReSharper - 在外部模块中声明的 Typescript 自动导入类 - 使用 from 而不是 require

visual-studio - 该项目已在选定位置处于源代码控制之下

java - hibernate :查找重复项

java - 是否有与 QSqlTableModel 等效的 Java ORM?

database - SQL Developer 帮助输入替换变量

php - orm和pdo的区别