Я нахожусь в процессе внедрения процесса сборки CI для моего второго проекта Oracle.Я не думаю, что удаление и воссоздание всего принесет какой-либо вред (как указано выше a_horse_with_no_name).Я рад слышать, что вы думаете о расширении CI для объектов базы данных - слишком много команд этого не делают.
Другой подход может заключаться в том, чтобы восстанавливать базу данных из недавней резервной копии каждую ночь (или использовать базу данных флэшбэка)и переносите ваше приложение из «производственной резервной копии» в текущее состояние разработчика при каждом запуске CI.Таким образом, код, который в конечном итоге будет применяться к продукту, будет тестироваться каждую ночь на предмет чего-то, что в значительной степени идентично продукту.Это немного меняет мышление, но не слишком сильно, если вы уже думаете о КИ.
Если вы хотите попробовать миграционный подход, у меня есть инструмент, над которым я работал, который можетhelp - http://dbgeni.com Он все еще находится в стадии разработки, но я разработал его с помощью CI и управления изменениями базы данных с учетом миграции.