Управление исходным кодом SQL Server [закрывается]

Чтобы клонировать окна при настройке SSL, установите значение false:

    git -c http.sslVerify=false clone http://example.com/e.git

Если вы хотите клонировать без , нарушая ваши глобальные настройки.

22
задан zachary 1 July 2009 в 14:19
поделиться

6 ответов

Недавно мы использовали Visual Studio Team System Database Edition , и я должен сказать, что он работал очень хорошо. Все хранимые процедуры хранятся в виде файлов и регистрируются в системе управления версиями и выходят из нее, и в ней есть инструменты для создания сценариев и т. Д.

Кроме того, в прошлом мы использовали сценарии, хранящиеся в виде текстовых файлов, которые возвращаются и удаляются. управления версиями. Правило заключалось в том, что вы должны были извлечь файл, затем отредактировать его, например, в Management Studio, сохранить его и вернуть обратно. В верхней части каждого файла сценария хранимой процедуры он удалял существующую хранимую процедуру, а затем используйте оператор CREATE, чтобы создать новый (обойдя проблему CREATE / ALTER). Затем у нас был инструмент, который запускал все сценарии в правильном порядке для создания пустой базы данных с нуля, а затем мы использовали RedGate. s SQL Compare продукт для создания сценария для обновления существующих баз данных. Я признаю, что это было утомительно.

Примерно в то же время я работал над системой с примерно 10 другими разработчиками, и они внедрили строгую процедуру управления изменениями базы данных. Было очень много приложений, которые все зависели от набора из 2 или 3 баз данных. Каждый раз, когда схема базы данных должна была измениться (здесь мы говорим только о таблицах, столбцах и представлениях), создавался документ, объясняющий это изменение, а затем была матрица, в которой перечислялись изменения и какие приложения, по нашему мнению, это повлияет . Затем документ был распространен, и его должен был просмотреть кто-то, кто отвечал за каждое приложение, и им пришлось искать в своем приложении все, что могло затронуть его, и т. Д. Это была долгая и трудная процедура, но она работала. Тем не мение, сохраненные процессы просто хранились в виде текстовых файлов в системе управления версиями.

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

  • Проверял чтобы увидеть, существует ли база данных, а если нет, создайте ее
  • Убедитесь, что все таблицы существуют, а если нет, создайте их
  • Убедитесь, что все столбцы существуют, и если нет, добавьте их

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

11
ответ дан 29 November 2019 в 05:41
поделиться

Я работал в среде, где контроль версий был частью процедуры выпуска.

Администраторам баз данных были предоставлены примечания к выпуску, которые требовали от администратора базы данных получить из системы контроля версий, а затем выпустить изменения хранимых процедур или сценарии SQL оттуда. Если вы можете привлечь администраторов баз данных, то это хороший способ избежать прерванных выпусков, так как вы сможете предварительно протестировать SQL в системе UAT.

Если данные не передаются в систему управления версиями, то это не значит получить выпуск.

Для выпуска кода использовались ветви интеграции.

0
ответ дан 29 November 2019 в 05:41
поделиться

The key is to limit right to prod to only a few individuals and to insist that they do not ever make changes except by calling up a script from source control. In newere versions of SQl Server you can also set up DDL logging to find out exactly who changed that table to a version not in Source Control!

When we first made the switch to using source control on our database everyone had prod rights (something we have since fixed), so we had a dba periodically do compare of source control check ins with the actual prod database and get rid of any unauthorized changes. It only took doing it once to convince the developers that they had to use source control.

0
ответ дан 29 November 2019 в 05:41
поделиться

Я видел, что система управления версиями лучше всего работает для SQL Server в командной среде, когда администратор баз данных выполнял регулярные сборки базы данных с использованием зарегистрированного кода. Обычно требуется только один случай потери чего-то, потому что это не было зарегистрировано, прежде чем разработчики поймут, что регистрация их кода что-то значит.

Надеюсь, это поможет,

Билл

1
ответ дан 29 November 2019 в 05:41
поделиться

Мы всегда использовали утилиту scptxfr, поставляемую с SQL Server 2000, для преобразования базы данных в файл, который хранится в системе управления версиями.

Мы запускаем его перед проверкой, и он будет выделять все возникшие шансы (ожидаемые или нет). Он не поставляется с 2005 или более поздними версиями, но если у вас установлена ​​старая версия 2000, она по-прежнему работает с более новыми версиями. У него могут быть проблемы со сложными схемами, но это хорошая отправная точка. Это также можно сделать автоматическим процессом в сочетании с триггерами управления версиями или непрерывной интеграцией.

0
ответ дан 29 November 2019 в 05:41
поделиться

Red Gate SQL Source Control полностью интегрирует систему управления версиями с SQL Server Management Studio. Это эффективно связывает вашу базу данных разработки с существующей системой управления версиями (TFS и SVN), позволяя фиксировать изменения и получать изменения других разработчиков одним нажатием кнопки.

http: //www.red-gate. com / products / SQL_Source_Control /

Теперь мы добавили поддержку VSS и SourceGear Vault в версию EA. Подробнее здесь: http://www.red-gate.com/MessageBoard/viewtopic. php? t = 12265

8
ответ дан 29 November 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: