Можем ли мы использовать GIT в качестве системы управления версиями для sql management studio?
Как использовать git в качестве поставщика управления версиями для SQL Server Management Studio
Ответы (10)
для управления версиями базы данных в SSMS
Агент SVN - подключаемый модуль SCC Subversion. http://www.zeusedit.com/agent/ssms/ms_ssms.html
or
http://www.red-gate.com/products/sql-development/sql-source-control/
Я обнаружил, что в ApexSQL есть инструмент, который изначально поддерживает Git в качестве системы управления версиями. Он поставляется как надстройка SSMS и предлагает мастер, который можно использовать для сопоставления объектов базы данных с системами управления версиями. Для этого:
- Загрузите и установите ApexSQL Source Control.
- Запустите SSMS и в проводнике объектов выберите базу данных, которую вы хотите связать с системой управления версиями.
- Щелкните правой кнопкой мыши базу данных и сформируйте контекстное меню, выберите параметр «Связать базу данных с системой управления версиями» в подменю «Управление исходным кодом ApexSQL».
- Выберите систему управления версиями (в вашем случае это Git) и выберите одну из двух моделей разработки баз данных - общую или выделенную. Общая модель рекомендуется, когда вы связываете базу данных, над которой будут работать несколько разработчиков одновременно
- Отфильтруйте объекты, которые вы не хотите отслеживать с помощью системы управления версиями: по схеме, типу или имени по схеме, типу или имени
- Предоставьте соответствующую информацию для входа и строку репозитория. Для Git это:
<protocol>://<hostname>:<portnumber>/<Git server name>/<repository>
(см. Пример ниже):
Более подробные пошаговые инструкции можно найти в этой статье: http://knowledgebase.apexsql.com/link-database-source-control-system-2/
Попробуйте sql-source-control
, бесплатный интерфейс командной строки с открытым исходным кодом, используемый для добавления SQL в системы управления версиями, такие как Git.
https://www.npmjs.com/package/sql-source-control
Microsoft выпустила SQL Operations Studio. Это бесплатный инструмент, работающий в Windows, macOS и Linux, для управления SQL Server, базой данных SQL Azure и хранилищем данных SQL Azure; куда бы они ни бежали. Он поставляется с встроенной поддержкой GIT.
Вы можете добавить Git Bash в качестве внешнего инструмента (Инструменты | Внешние инструменты ...):
- Имя: & Git (используйте
&
, чтобы указать горячую клавишу) - Команда:
C:\windows\SysWOW64\cmd.exe
(32-разрядная командная оболочка) - Аргументы:
/c ""C:\path\to\Git\bin\sh.exe" --login -i"
Поиск пути, по которому установлен Git. в системе Windows - Начальный каталог:
$(ItemDir)
Поскольку SSMS является (более или менее) настраиваемой версией Visual Studio, вы можете использовать решение, предназначенное для VS:
Использование Git с Visual Studio
В качестве альтернативы можно с самого начала управлять исходным кодом БД в Visual Studio, а не в SSMS. Таким образом (по крайней мере, в VS2010) у вас есть проекты баз данных, интегрированное развертывание, модульное тестирование и т. Д. Или продолжайте использовать SSMS и проверяйте свой код из внешнего инструмента, когда будете готовы (не так удобно, конечно).
Но это зависит от того, что именно вы делаете: SSMS - это инструмент DBA, VS - инструмент разработчика. В любом случае, вы должны использовать какую-то форму управления версиями, но из вопроса не ясно, какие именно файлы вам нужно версировать.
Еще нет, но если вы перейдете на http://redgate.uservoice.com/forums/39019-sql-source-control/suggestions/537681-add-git-support и проголосуйте за redgate, чтобы добавить поддержку git, которую он может быть добавлен в следующей версии. Да, я знаю, что это коммерческий продукт, но за некоторые продукты можно платить!
Red Gate SQL Source Control был обновлен и теперь включает поддержку Git и Mercurial (а также Perforce и TFS). Имейте в виду, что их интеграция с DVCS не на 100% завершена по сравнению с их продуктом SVN, поскольку базовые функции, такие как просмотр истории объекта, не поддерживаются в SSMS. Это может быть препятствием, если другие инструменты Red Gate, такие как SQL Compare, являются частью вашего рабочего процесса.
Нашим обходным решением было установить TortoiseGit или GitExtensions и перейти в репозиторий на диске, чтобы вникнуть в подробности. Это работает, но немного неуклюже.
VersionSQL - это надстройка системы управления версиями SSMS, которую я разработал таким образом, чтобы она была легкой и простой в использовании. На панели «Обозреватель объектов» просто щелкните правой кнопкой мыши базу данных или объект и выберите «Зафиксировать». VersionSQL запишет его в Git / SVN в аккуратно организованной структуре папок.
Проверьте это на https://www.versionsql.com/?utm_source=so&utm_medium=3793388.
На этот вопрос было дано несколько ответов, на которые вы, возможно, захотите взглянуть, но в двух словах ...
Суть управления версиями состоит в том, чтобы сохранить исходный файл, а затем дельты, разницу между зафиксированным исходным файлом и последующими изменениями (хорошо, я сделал это немного проще, чем это возможно), а затем управлять номером версии и давать инструменты для извлечения любой нужной вам ревизии. Это также позволяет вам сравнить предыдущие версии и выполнить откат (и т. Д.).
РСУБД состоит из схемы и данных, которые они изменяют, и может часто меняться в случае данных, поэтому даже если вы выполнили VCS, что бы вы сравнили, чтобы выполнить восстановление, и как это поможет? Предполагая, что у вас есть действующая система, возврат к более ранней версии приведет к потере всех данных, хранящихся за это время, и, хотя я никогда не пробовал это, я подозреваю, что это может нарушить общую целостность СУБД.
Лучшее решение - использовать приложение резервного копирования, созданное для этой СУБД, говорит MySQLdump в случае MySQL, которое делает снимок данных и структуру данных и сохраняет их в надежном месте.
Дампы можно планировать регулярно, и вы можете делать такие вещи, как главные / подчиненные базы данных (или другие стратегии), чтобы вы могли резервировать живые производственные базы данных на лету, не влияя на производительность