2011-12-15 2 views
2

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

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

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

ответ

2

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

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

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

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