2015-03-10 4 views
1

Моя компания использует Git для управления версиями и т. Д. В настоящее время он используется для C, C# и Python. Меня попросили добавить схемы базы данных вместе с более «сложным» SQL (без понятия, когда он станет «сложным») в репозиторий. В настоящее время база данных резервируется после внесения изменений в схемы или после добавления данных (на данный момент это чисто среда разработки). Посмотрев на Git, схемы базы данных и т. П. На самом деле не кажутся (мне) для отображения на нее. Должен ли я рассматривать другой пакет для «контроля источника», чтобы дополнять существующие резервные копии MySQL?Git Repository and Database Schemas

Спасибо ...

ответ

1

Предполагая, что вы просто хотите сохранить SQL-скрипты, которые могут воссоздать вашу схему БД без каких-либо данных в ней (CREATE TABLE, VIEW, INDEX и т. Д.), Тогда Git выглядит как отличный вариант. Git обычно хорош для контроля версий текстовых данных, таких как SQL-скрипты.

0

Правило отпечатка пальца не хранить большие файлы, которые часто модифицированные в мерзавца по нескольким причинам. (из этой области ответа - эвристически, снимки и т. д.), поэтому я бы предложил не добавлять их непосредственно в git и вместо этого хранить в подмодулях в качестве автономного репозитория.

Таким образом, вы можете использовать git для отслеживания изменений, но ваш репозиторий git не будет расти до огромного размера (файлы пакета), и вы сможете управлять им внутри своего проекта.

Если вы хотите только сохранить скрипт sql, это хороший синус, который будет обрабатывать его как любой другой файл.

+0

Идея состоит в том, чтобы поставить схемы и некоторый SQL под контроль источника, и определенно не данные. – MichaelJohn

+0

Таким образом, вы можете разместить его под git без проблем в качестве обычного файла, git «знать», как оптимизировать хранилище. когда git сохраняет файлы (пакетный файл), оптимизируя контент с помощью эвристики, поэтому, когда он хранит моментальный снимок, который является полным содержимым файла, на самом деле он сохраняет только изменения для оптимизации пространства на жестком диске, но для вас, как пользователя, вы получите его как снимок файл – CodeWizard