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