2014-09-18 3 views
3

Я готовлю репозиторий git для меня и моего проекта забавы друзей, чтобы сделать сайт для обмена изображениями/видео. Мы изучаем стек MEAN на этом пути. Теперь только я настроил MongoDB /data/db и играл с ним.База данных MongoDB на репозитории git

Вопрос в том, должен ли я/я могу создать папку данных в dit в git repo, чтобы мой друг мог вытащить все и посмотреть изображения, отображаемые в его браузере? Или я должен быть единственным, кто работает в базе данных?

Также приветствуются любые советы или рекомендации по развертыванию. Спасибо.

+0

Я категорически отказываюсь от размещения файлов данных DB под git. Поделитесь этими файлами с помощью других механизмов обмена файлами (rsync, dropbox, gdrive и т. Д.). Гит не подходит для этого. Если вы, ребята, также сотрудничаете с данными (а не только с кодом), затем используйте решение для совместного использования файлов, которое поддерживает версии. Я не уверен на 100%, но я думаю, что Dropbox и GDrive поддерживают управление версиями. – brahmana

+0

@brahmana Использование Dropbox также не является хорошей идеей. Когда оба одновременно записываются в базу данных, программа обмена файлами будет работать в конфликтах редактирования. Когда он пытается автоматически разрешить их в пользу любого экземпляра, база данных может быть повреждена. Это когда-то случилось со мной, когда я попытался разделить базу данных devo MongoDB между моим рабочим столом и записной книжкой. – Philipp

+0

@Philipp Действительно. К сожалению, я не рассматривал функцию автоматической синхронизации. То, что я хотел сказать, - делиться файлами DB с помощью Dropbox/GDrive, когда это необходимо. Наличие каталога данных MongoDB в Dropbox/GDrive определенно не очень хорошо. Разумеется, более чистый путь - это обмен свалками бсонов. – brahmana

ответ

4

Теоретически, он может работать. Вы можете поместить файлы базы данных MongoDB под контроль версий. Когда вы фиксируете файлы базы данных, в то время как MongoDB не запущен, а ваш коллега натягивает их, пока его экземпляр MongoDB тоже не работает, должно быть возможно обменять содержимое базы данных таким образом. По крайней мере, пока вы используете одну и ту же версию MongoDB.

Однако, это не очень хорошая идея, потому что Git не создан для больших двоичных файлов, которые часто меняются. Ваш репозиторий может работать не так хорошо, как вы ожидали от Git.

В качестве альтернативного решения вы можете настроить один экземпляр MongoDB, к которому вы оба обращаетесь параллельно через сеть.

+1

... как размещенная база данных MongoDB от Compose, MongoLab, ... (бесплатно для действительно небольших БД) – xeraa

Смежные вопросы