我们开发了一个桌面应用程序,用于收集科学仪器的测量结果。
测量值存储在单个SQLite数据库文件和一些相关的二进制数据文件中。
该应用程序附带了一些示例数据,因此我将预先填充的文件置于版本控制之下(我们使用Subversion / Ankh / Tortoise)。
但现在我的同事抱怨每次他对项目进行更新时,他对数据库所做的任何更改都会被存储库中的示例数据数据库所破坏。
我们如何管理这个:
当我们发布版本时,我们可以确保包含来自存储库的正确样本数据。
在版本之间,当我们从存储库更新代码时,我们的数据库工作副本不会被覆盖。
答案 0 :(得分:2)
查看在repo中以SQL脚本的形式存储数据,通过dbdeploy
等数据库更改管理工具进行管理
版本控制对于文本文件很有用,而对于二进制文件则不然。任何可以表示为文本的东西都应该这样做。任何可以通过构建过程生成的东西 - dll,jar等等和db,都应该是构建过程的工件,并在repo之外维护。