Лучшие практики для поддержки сценария создания базы данных TSQL для веб-приложения - PullRequest
0 голосов
/ 28 октября 2011

У нас есть веб-приложение ASP.NET, и нам нужно поддерживать сценарий создания и инициализации базы данных.

Существуют ли какие-либо отраслевые передовые практики для поддержки сценариев создания и инициализации базы данных.Я могу придумать два основных подхода.

  1. Поддерживать сценарий создания tsql вручную.
  2. Поддерживать базу данных master и создавать сценарий, который затем проверяется на безопасность исходного кода.

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

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

В настоящее время мы генерируем скрипт из Management Studio, но порядок таблиц кажется случайным.

И чем автоматизированнее решение, тем лучше.

Ответы [ 3 ]

3 голосов
/ 28 октября 2011

Проблема не в том, чтобы поддерживать сценарий или поддерживать «главную» копию базы данных. Настоящая проблема заключается в обновлении существующих баз данных. Вы вносите изменения в среду разработчика, которые затем распространяются в тестовую среду и, наконец, помещаются в производственную среду. Хотя на этапе разработки и тестирования среды можно начинать с нуля, в производственной среде всегда необходимо обновить существующее развертывание.

По моему опыту, лучше всего использовать сценарии обновления . Эта практика полезна даже для одного развернутого сайта, но она становится неоценимой для нескольких местоположений, которые могут иметь разные версии. Но даже с одним действующим сайтом все еще полезно иметь возможность многократно тестировать обновление (начиная с резервных копий текущей версии), сохранять изменения в системе контроля версий, иметь хорошо формализованную и проверенную процедуру изменений (скрипт обновления). А сценарии обновления могут быть адаптированы к конкретным потребностям рабочего сайта, например, обрабатывать большую таблицу с особой тщательностью, или иметь дело с зашифрованными данными, или что-либо из множества инструментов, основанных на различиях в деталях, игнорировать или игнорировать. Основным недостатком является необходимость написания сценариев, которые требуют реальных знаний T-SQL (забудьте о «дизайнерах» в вашем любимом инструменте управления).

2 голосов
/ 28 октября 2011

Возможно, вы захотите проверить RedGate SQL Source Control .

1 голос
/ 28 октября 2011

Вы ищете Проекты баз данных Visual Studio ?

Я использую проекты баз данных для хранения всех объектов базы данных (таблиц, представлений, функций, ключей, триггеров, индексов по схемам) и сохраненияуправление версиями в TFS.Вы можете создать базу данных, чтобы убедиться, что все в порядке.Вы можете выполнить развертывание в новой базе данных или сравнить схему с существующей базой данных.

Я также храню все справочные и установочные данные в сценариях после развертывания, которые автоматически запускаются после развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...