在Git存储库中的MongoDB数据库

3
我正在为我和朋友的有趣项目准备git仓库,学习制作图片/视频共享网站时所需的技术(MEAN stack)。目前只有我已经设置了MongoDB的/data/db,并且一直在尝试它。
问题是,我是否可以将data/db文件夹放入git仓库中,让我的朋友可以拉取所有内容并在其浏览器上查看显示的图像?还是说只有我自己工作在数据库上?
此外,欢迎提供部署的任何提示或建议。谢谢。

我强烈反对将DB数据文件放在git下。通过其他文件共享机制(rsync,dropbox,gdrive等)共享这些文件。Git不是这个的正确位置。如果您们不仅在代码上进行协作,还在数据上进行协作,则使用支持版本的文件共享解决方案。我不是100%确定,但我认为Dropbox和GDrive都支持版本控制。 - brahmana
@brahmana,使用 Dropbox 也不是一个好主意。当两个人同时写入数据库时,文件共享程序会遇到编辑冲突。当它试图自动解决这些冲突并支持其中一个实例时,数据库可能会损坏。我曾经尝试在我的桌面电脑和笔记本电脑之间共享 MongoDB 开发数据库时,就出现了这种情况。 - Philipp
@Philipp 确实。抱歉我没有考虑到自动同步功能。我的意思是在需要时使用Dropbox/GDrive共享DB文件。将MongoDB数据目录放在Dropbox/GDrive下绝对不好。更干净的方法当然是共享bson转储。 - brahmana
1个回答

5
理论上,这是可行的。您可以将MongoDB数据库文件放入版本控制中。当您提交数据库文件时,MongoDB未运行,而您的同事在他的MongoDB实例也未运行时,就可以通过这种方式交换数据库内容。至少,只要您们两个都使用相同版本的MongoDB即可。
但是,这可能不是一个好主意,因为Git并不适用于经常更改的大型二进制文件。与Git预期的性能相比,您的存储库可能表现得不如您所期望的那样好。
作为替代方案,您可以设置一个MongoDB实例,通过网络同时访问该实例。

1
像Compose、MongoLab这样的托管MongoDB数据库(对于非常小的数据库免费)。 - xeraa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接