Каковы лучшие практики для сценариев базы данных под контролем кода - PullRequest
21 голосов
/ 04 декабря 2008

В настоящее время мы изучаем, как мы храним наши скрипты базы данных (таблицы, процедуры, функции, представления, исправления данных) в Subversion, и мне было интересно, есть ли консенсус относительно того, какой подход лучше?

Некоторые факторы, которые нам необходимо учитывать, включают:

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

Очевидно, это довольно открытый вопрос, поэтому мне интересно услышать, чему их научил опыт людей.

Ответы [ 11 ]

0 голосов
/ 04 декабря 2008

Опция создания сценария:

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

Используйте стандартные методы контроля версий для хранения, ветвления, маркировки версий и просмотра истории ваших объектов.

При обновлении действующей базы данных (где вы не хотите терять данные) создайте пустую вторую копию базы данных в новой версии и используйте такой инструмент, как текст ссылки red-gate

Плюсы: Изменения в файлах отслеживаются в стандартном исходном коде, например

Минусы: Опора на ручное использование стороннего инструмента для выполнения актуальных обновлений (без / мало автоматизации)

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