2008-08-29 2 views
2

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

Как вы развертываете изменения схемы и кода в таком сценарии?

ответ

1

Это нелегко для нас. У нас есть специальная программа, которая записывает много кода sql для разных баз данных для нас. По сути, он записывает код один раз, а затем копирует его снова и снова вместе с размещением команд базы данных изменений и т. Д. Он также гарантирует, что идентификаторы первичного ключа и т. Д. Синхронизируются, когда они должны быть. Кроме того, я бы посмотрел на продукты Red Gate. Они спасли нас не раз здесь. С ними вы можете легко сравнить dbs и посмотреть, что отличается. Обязательно при работе с несколькими копиями.

1

Используйте генератор кода/язык сценариев для реализации исходной схемы и обновлений с ней со временем.

1

Я использовал SQL Packager Red Gate для этого в прошлом. Красота этого инструмента заключается в том, что он создает для вас проект C#, который фактически выполняет эту работу, поэтому, если вам нужно, вы можете расширить функциональность пакета по умолчанию, чтобы делать другие вещи, такие как вставлять значения по умолчанию в новые столбцы, которые были добавлены в db и т. д. В конце концов у вас есть хороший инструмент, который вы можете передать технику, и все, что им нужно сделать для обновления нескольких БД, это указать его на базу данных и нажать кнопку.

У Red Gate также есть продукт под названием SQL multi-script, который позволяет одновременно запускать скрипты с нескольких серверов/dbs. Я никогда не использовал этот инструмент, но я предполагаю, что если вы ищете что-то для внутреннего использования, которое не нужно упаковывать, вы бы хотели посмотреть на это.

Смежные вопросы