Моя вся среда, Java, js, и php настраиваются с нашим непрерывным сервером интеграции (Гудзон). Но как я вынимаю базу данных в соединение?
Я хотел бы развернуть новые базы данных MySql для поблочного тестирования, разработки и обеспечения качества.
И затем я хотел бы к различной разработке против производства и имел бы сценарий обновления, который будет использоваться для выпуска.
] Можно написать сценарий в Ant, чтобы сделать все эти вещи и выполнить их во время сборки. [
]]Я бы посмотрел на liquibase ([]http://www.liquibase.org[]/). Это инструмент миграции db с открытым исходным кодом на основе java, который может быть интегрирован в ваш скрипт сборки и может обрабатывать db diffing. Я уже использовал его раньше для управления обновлениями db в проекте с большим успехом.[
].] Возможно, исследовать миграции баз данных, такие как [] migrate4j [].[
].] Разве HyperSQL в памяти БД ([] http://hsqldb.org/[]) не лучше для выполнения тестов? [
].Напишите сценарий, который настроит вашу тестовую базу данных. Запустите его из своего сборочного инструмента, что бы это ни было, до того, как запустите тесты. Я делаю это вручную, и он работает довольно хорошо; все равно интегрируйте его в maven. Не должно быть слишком много проблем.
Для управления миграциями в схему вашей базы данных между выпусками вы могли бы сделать намного хуже, чем использовать миграции Scala: http://opensource.imageworks.com/?p=scalamigrations
Это инструмент с открытым исходным кодом, который, как я обнаружил, хорошо интегрируется в экосистему разработки Java, и имеет особую привлекательность, если кто-то из вашей команды ищу способы представить Scala.
Он также должен уметь создавать базу данных с нуля для целей тестирования.
Попробуйте http://code.google.com/p/mysql-php-migrations/ ! Очень ориентирован на PHP, но, кажется, хорошо работает для большинства целей.