如何与应用程序一起管理数据集?

Ofr*_*viv 13 language-agnostic repository dataset

应用程序的代码和配置文件保存在代码存储库中.但有时,作为项目的一部分,我还有一些数据(在某些情况下可以> 100MB,> 1GB左右),它存储在数据库中.Git在处理代码及其更改方面做得很好,但开发团队如何轻松共享数据?

它并不真正适合代码版本控制系统,因为它主要是大型二进制文件,并且会使拉动更新成为一场噩梦.但它必须与存储库同步,因为某些代码修订会更改架构(即迁移).

你如何处理这种情况?

Ste*_*ins 4

我们将数据和模式存储在 xml 中,并使用liquibase来处理模式和数据的更新。这里的优点是您可以比较文件以查看发生了什么,它与任何 VCS 都能很好地配合,并且您可以将其自动化。

由于数据库的大小,这意味着一个相当大的“版本 0”文件。但是,使用迁移策略后,更新应该是可管理的,因为它们只是增量。您也可以将现有迁移一对一地转换为liquibase,这可能比大爆炸方法更好。

如果您的增量非常大,您还可以利用 @belisarius 的策略,这样每个开发人员就不必单独应用增量。