Вот и все, я не думаю, что есть что добавить, кроме вашего подхода. Это то, как мы делаем это в нашей компании, мы, разработчики, несем ответственность за создание сценария и сценария отката, и мы несем ответственность за то, чтобы оставить БД в том же состоянии, в каком оно было до применения начальных изменений. Затем администраторы баз данных запускают его в производственном режиме, если возникает проблема, они запускают сценарий отката, и все возвращается к нормальной работе. Просто помните о зависимостях и порядке, в котором вы изменяете свои объекты, а затем создаете сценарий отката назад.