Как работают инструменты миграции схемы? - PullRequest
3 голосов
/ 12 января 2010

У меня есть приложение на основе базы данных, и я удаляю содержимое схемы и базы данных каждый раз, когда в схеме происходят какие-либо изменения. Сейчас он в режиме разработки. Вскоре мы выпускаем приложение в производство. Но мы подозреваем, что после выпуска приложения в производственную эксплуатацию может произойти много изменений. Программное обеспечение должно быть установлено во многих местах по всему миру. (Не веб-приложение)

Как работает инструмент миграции схемы в этом случае? или Как мы можем использовать их в типичных приложениях на основе баз данных, где мы подозреваем изменения в схеме?

Ответы [ 2 ]

5 голосов
/ 12 января 2010

Загрузите RedGate инструменты и узнайте. Я считаю, что у них всех есть пробные периоды, и я уверен, что SQL Compare имеет.

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

В вашей ситуации вы, вероятно, сгенерируете скрипт, а затем будете использовать его в качестве основы для того, что вы отправите своим клиентам или что вы включите в ваши скрипты установки. Просто сохраните базу данных для каждой версии вашего приложения, и вы сможете создавать сценарии для перехода от одной версии к другой, указывая на две базы данных. Вы можете оставить их пустыми (или просто заполнить справочные таблицы), чтобы они не занимали слишком много места.

Вы также можете использовать SQL Data Compare для синхронизации таблиц поиска. Просто используйте его для справочных таблиц, но не для таблиц основных данных.

Независимо от того, по какому маршруту вы идете, вам придется выполнять какое-то пользовательское кодирование либо потому, что вам нужно преобразовать данные при изменении структуры, либо по аналогичной причине.

0 голосов
/ 19 января 2013

Рассмотрим RoundhousE как инструмент миграции sql.

Вместо того, чтобы редактировать свои скрипты создания схемы, вы пишете миграции, которые перемещают вашу схему из текущей версии базы данных в новую версию. RoundhousE добавляет информацию в базу данных, чтобы отслеживать, какая версия в данный момент используется, и при необходимости применяет сценарии миграции к вашей базе данных.

Я изучаю эти инструменты, и RoundhousE сейчас занимает первое место в моем списке.

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