2010-10-18 3 views
0

Я запускаю сценарий сборки, а затем я должен помнить, какие из SQL-файлов базы данных и сценариев PL/SQL запускать каждый раз при развертывании приложения. Как включить эти патчи в мой скрипт сборки? Или все просто запускают их вручную? В настоящее время я номер моих патчей, поэтому я знаю порядок их запуска, но иногда мне приходится проверять историю SVN, чтобы узнать, с какого числа начать.Как я могу включить изменения базы данных (патчи DDL, одноразовые вставки данных и т. Д.) В мой процесс сборки?

Я использую PHP, но могу использовать Java в своем решении этой проблемы.

ответ

1

liquibase может решить эту проблему для вас, которая интегрируется в муравья или Maven, но может быть запущен из CMD линии слишком

1

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

+0

+1. Я делаю следующее: 'trunk/Database/Patches/0.9.2 до 0.9.3/x_table.sql' – abatishchev

+0

Я помещаю скрипты в исходный элемент управления, но я не нашел удовлетворительного способа отслеживать, какие из них были запущены и какие не имею. Я полагаю, что их размещение в папках с именами приложений-приложений, таких как abatischev, является вариантом, но по-прежнему имеет ручной компонент. –

+0

Мне интересно, следует ли использовать расширенное свойство для хранения версии объекта и тестирования, прежде чем нажимать изменения? Или должно ли решение идеально не касаться базы данных? –

0

Поскольку вы используете PHP phing/DbDeployTask, это будет разумный выбор. Для каждой таблицы БД вы будете иметь стартовый файл и ряд патчей и т.д .:

001 user.sql 
002 project.sql 
501 user-AddColumnAvatar.sql 

и т.д.