Я ищу способ ежедневного развертывания и поддерживать сценарии базы данных в соответствии с выпусками.
В настоящее время у нас довольно приличный способ развертывания нашего источника, у нас есть покрытие кода модуля, непрерывная интеграция и откаты.
Проблема заключается в том, что сценарии базы данных соответствуют выпуску. Кажется, что все пытались выполнить script в тестовой базе данных, а затем запускать их в режиме реального времени, когда сопоставления ORM обновляются (то есть, изменения идут вживую), затем он поднимает новый столбец.
Первая проблема заключается в том, что ни один из сценариев не должен быть написан где угодно, как правило, все "пытаются" поместить их в папку Subversion, но некоторые из более ленивых людей просто запускают script в режиме реального времени и большую часть времени нет кто знает, что сделал в базе данных.
Вторая проблема заключается в том, что у нас есть 4 тестовые базы данных, и они ВСЕГДА не работают, и единственный способ по-настоящему выстроить их резервное копирование - это сделать восстановление из живой базы данных.
Я очень верю, что такой процесс должен быть простым, понятным и простым в использовании, чтобы помочь разработчику, а не мешать им.
То, что я ищу, - это методы/идеи, которые делают его легким для разработчиков, чтобы он мог записывать свои сценарии базы данных, чтобы они могли запускаться как часть процедуры выпуска. Процесс, который разработчик захочет следовать.
Полезны любые истории, прецеденты или даже ссылки.