Database git子模块是存储大型数据库转储的好解决方案吗?

Database git子模块是存储大型数据库转储的好解决方案吗?,database,git,development-environment,git-submodules,Database,Git,Development Environment,Git Submodules,也就是说,我们有一个20MB的BZIP2SQL开发数据文件,我们希望随开发代码一起对其进行版本控制 但是,我们不希望在默认情况下,每次新的克隆/获取都会从repo中删除此文件 一种解决方案似乎是将这个大文件存储在一个单独的repo中,然后用一个子模块链接到它。然后,开发人员仅在需要检索和重置开发数据库时才会获取db文件。然后,当模式发生更改时,数据库文件将被更新,提交到外部repo,子模块将被更新 这是一个好的开发工作流程吗?还是有更好的方法 编辑:未压缩的SQL转储为360MB 编辑:Gith

也就是说,我们有一个20MB的BZIP2SQL开发数据文件,我们希望随开发代码一起对其进行版本控制

但是,我们不希望在默认情况下,每次新的克隆/获取都会从repo中删除此文件

一种解决方案似乎是将这个大文件存储在一个单独的repo中,然后用一个子模块链接到它。然后,开发人员仅在需要检索和重置开发数据库时才会获取db文件。然后,当模式发生更改时,数据库文件将被更新,提交到外部repo,子模块将被更新

这是一个好的开发工作流程吗?还是有更好的方法

编辑:未压缩的SQL转储为360MB

编辑:Github说“不”,不要这样做:

数据库转储

大型SQL文件不能很好地与版本控制系统(如 吉特。如果您希望为您的开发人员提供 最近的生产数据集,建议使用Dropbox进行共享 您的开发人员中有这样的文件


最后,我制作了一个简单的web服务器,为存储转储的repo中的模式转储目录提供服务。repo增长非常快,因为转储非常大,当人们不得不打开新节点时,它会减慢人们克隆它的速度。

我会说子模块是,bzip不是。让repo压缩来做吧,如果默认设置不够,就启动它的配置设置,但是compress首先关闭了git的几乎所有版本控制功能。@不幸的是,该文件对于github来说太大了,未压缩:remote:错误:file production-dump.sql为362.49 MB;这超过了GitHub的100MB文件大小限制