2011-10-13 55 views
1

我们开发了一种收集科学仪器测量结果的桌面应用程序。版本控制(SVN)和管理样本数据?

度量值存储在单个SQLite数据库文件和一些关联的二进制数据文件中。

该应用程序附带一些示例数据,因此我已将预填充文件置于修订控制下(我们使用Subversion/Ankh/Tortoise)。

但现在我的同事抱怨说,每次他对项目进行更新时,他对数据库所做的任何更改都会被存储库中的示例数据数据库破坏。

我们如何管理这个如此:

  1. 当我们做一个发布,我们可以确保适当的采样数据从存储库包含。

  2. 在版本之间,当我们从存储库更新代码时,我们的数据库工作副本不会被覆盖。

+3

在SVN中存储实际正确的数据库 - 作为从数据库查询中导出的SQL作为文本形式的输出。设计一个构建过程,将此导出的SQL重新导回。考虑查看像Jenkins这样的构建链工具来帮助... – therobyouknow

回答

2

看看在你的回购SQL脚本的形式,其具有的数据,通过像dbdeploy

版本控制数据库变更管理工具管理是伟大的文本文件,并没有因此与二进制文件。任何可以表示为文本的东西都应该这样做。任何可以通过构建过程生成的东西 - dll,jar等和db,都应该是构建过程的工件,并且在您的仓库之外维护。