Представьте. Есть внушительных размеров программная система с базой данных, допустим, на MS Sql Server. Вы завершили разработку нового модуля, и встал вопрос его интеграции. Вы реализовали всю логику работы с данными в хранимых процедурах, и теперь хотите обогатить ими систему.
Допустим, таблицы можно перенести на нужную базу с помощью встроенного импорта/экспорта. Впрочем, учитывая, что среднему модулю вряд ли понадобится больше 10 таблиц, скрипт их создающий, пишется легко и непринужденно. Вот с хранимыми процедурами сложнее. Допустим, у вас их 100. Пересоздавать их по одной – вариант сомнительный. Нужен скрипт, который бы создал их все сразу. Признайтесь, у каждого были моменты, когда он, руководствуясь сознательным желанием сделать быстро и без напряга, предавался обманчиво-легкому копипасту, вместо того чтобы найти гибкое альтернативное решение. Если речь идет не об одноразовом коде, сознание своего промаха приходит неизбежно. Только представьте, что каждое обновление будет вынуждать вас вручную редактировать, скажем, 10000 строк.
Итак, речь далее пойдет об автоматизации создания скриптов для обновления базы данных. Какими же средствами можно генерировать нужный код?