Проверка схемы базы данных - развертываемая / компилируемая - PullRequest
1 голос
/ 07 мая 2010

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

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

Однако, поскольку это база данных, и клиент может либо

  • неправильно запускать сценарии обновления или
  • возиться и что-то испортить в БД

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

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

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 июня 2010

Вы говорите, что инструменты сравнения схем не соответствуют вашим требованиям, но рассматривали ли вы вопрос об использовании SDK инструмента сравнения схем и написали свой собственный код проверки? Я управляю продуктом SQL Compare в Red Gate и его API, SQL Comparison SDK, например, позволит вам сравнивать снимок схемы с целевой базой данных и прерывать развертывание, если оно не совпадает, а также сохранять журнал различия, которые могут быть отправлены вам обратно.

http://www.red -gate.com / продукция / SQL_Comparison_SDK / index.htm

0 голосов
/ 07 мая 2010

Взгляните на SchemaCrawler , который идеально подходит для этой цели. SchemaCrawler может генерировать «снимки» схемы (и данных) для удобочитаемой схемы базы данных, которые предназначены для сравнения с использованием инструментов сравнения текстовых файлов. SchemaCrawler не зависит от базы данных и операционной системы, является бесплатным, с открытым исходным кодом и может вызываться из командной строки, а также через API Java.

...