Мы разрабатываем веб-решение для клиента, использующего Java и Oracle 11g. Проект установлен у заказчика, но большая часть его возможностей находится в стадии разработки. Каждый месяц мы выпускаем новую версию, которую необходимо установить у клиента. Проблема в том, что в каждом релизе в БД много изменений (таблицы, представления, SP, триггеры и т.д.). Я не могу получить дамп с линии разработки и передать его заказчику.
Вопрос в том, как я могу создать сценарий SQL, который мог бы перенести схему клиентской БД в ее новую версию (версию для разработки)? Есть ли какой-нибудь автоматизированный инструмент для создания этих скриптов? Есть ли какой-нибудь открытый исходный код в java, который мог бы это сделать? Любые лучшие практики для этой проблемы?
Изменить
Согласно ответам, кажется, что лучше всего запретить разработчикам прямое изменение схемы БД, и они должны написать и зафиксировать сценарий изменения для каждого обновления БД. Но, используя этот метод, через некоторое время будет существовать множество сценариев изменений, каждый из которых содержит определенное обновление в БД. Как мне тогда управлять этой массой скриптов?