Я присматриваю за хранилищем данных, разработанным самим банком, в котором я работаю. Это требует постоянного обновления, и у нас работает команда из 2-4 разработчиков.
Нам повезло, потому что есть только один экземпляр нашего «продукта», поэтому нам не нужно обслуживать несколько экземпляров, которые могут быть в разных версиях.
Мы сохраняем файл сценария создания для каждого объекта (таблицы, представления, индекса, хранимой процедуры, триггера) в базе данных.
Мы по возможности избегаем использования ALTER TABLE
, предпочитая переименовывать таблицу, создавать новую и переносить данные поверх. Это означает, что нам не нужно просматривать историю ALTER
сценариев - мы всегда можем увидеть актуальную версию каждой таблицы, посмотрев на ее скрипт создания. Миграция выполняется отдельным скриптом миграции - он может быть частично сгенерирован автоматически.
Каждый раз, когда мы делаем релиз, у нас есть скрипт, который запускает скрипты создания / миграции в соответствующем порядке.
К вашему сведению: Мы используем Visual SourceSafe (чёрт!) Для контроля исходного кода.