[#] [Из песочницы] Синхронизация структуры базы данных между приложениями
habrabot(difrex,1) — All
2017-06-03 21:30:04


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

Чаще всего используется простой подход — создание набора SQL-скриптов для модификации структуры БД от версии к версии. Конечно, есть такой мощный инструмент, как [Red gate][1], но он во-первых небесплатный, во-вторых не решает проблему полной автоматизации обновления.



Технология migrations, впервые появившаяся в ОРМ Hibernate и реализованная в Linq, очень хороша и удобна, но подразумевает стратегию разработки структуры БД code first, что весьма трудоемко для уже существующих проектов, а использование в БД триггеров, хранимых процедур и функций делает задачу перехода на code first практически невыполнимой.



В данной статье предлагается альтернативный подход к решению этой задачи, использующий хранение эталонной структуры БД в XML-файле и автоматическую генерацию SQL-скрипта на основе сравнения эталонной и существующей структуры. Итак, начнем...

[Читать дальше →][2]

[1]: http://www.red-gate.com
[2]: https://habrahabr.ru/post/330134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut