Как получить большую унаследованную базу данных под контролем версий - PullRequest
2 голосов
/ 15 декабря 2011

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

Моя проблема в том, что проект масштабный. Он содержит 6 отдельных баз данных. Каждая база данных содержит много бизнес-логики. ~ 120 000 хранимых процедур, триггеров и просмотров. Это слишком много, чтобы сделать это вручную.

Есть ли способ сгенерировать плавный переход от пустой базы данных к снимку с производства?

1 Ответ

2 голосов
/ 03 января 2012

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

Я бы предложил разделить на разные сборки миграции (для каждой базы данных) и использовать, например,базовое пространство имен (где у вас есть только 1 вверх / вниз для выполнения встроенного скрипта, если вы получили возможность работать с синтаксисом fluentmigrationts, например, в пространстве имен _1 для будущих изменений

См. http://tommarien.github.io/blog/2011/12/18/fluentmigrator-part-ii для использования встроенного скрипта

Надеюсь, это поможет, но потребуется время, чтобы разобраться с базовым пространством имен.

...