Часто при внедрении нового продукта, при установки обновлений существующего и даже иногда в процессе разработки, Вам требуется автоматизировать рутинный труд по созданию большого количества однотипного кода.
Предположим, нам требуется изменить данные так называемых справочников (dictionaries). Приведу простой пример, нужно заполнить справочник стран согласно стандарту ISO 3166. Их всего-ничего: 246 штук. Т.е. нам нужно подготовить SQL скрипт по вставке данных для этих стран. В простом случае у нас получиться около 246 строк SQL кода вида INSERT INTO countries (id, code) values ('UA', 'Ukraine'). Для автоматизации процесса генерации SQL кода я предлагаю использовать Microsoft Excel.
Предположим, нам требуется изменить данные так называемых справочников (dictionaries). Приведу простой пример, нужно заполнить справочник стран согласно стандарту ISO 3166. Их всего-ничего: 246 штук. Т.е. нам нужно подготовить SQL скрипт по вставке данных для этих стран. В простом случае у нас получиться около 246 строк SQL кода вида INSERT INTO countries (id, code) values ('UA', 'Ukraine'). Для автоматизации процесса генерации SQL кода я предлагаю использовать Microsoft Excel.


Что еще можно делать с помощью этого подхода? Многое. Например, мой коллега генерировал части XML файлов, я - куски кода на Java. Недавно использовал этот подход для более сложной задачи: миграции данных плоских справочников в иерархические (около 10 таблиц, порядка 2000 строк SQL кода).
С моей точки зрения, огромное преимущество данного подхода заключается в возможности быстро перегенерировать полученный ранее код. Например, решили Вы нумеровать строки в справочнике стран не по порядку, а через 10 - изменили значения в колонке id, и вуаля - скрипты готовы. Или другой пример, в процессе тестирования решили мы перенести часть данных иерархических справочников из одних веток в другие, некоторые объединить и кое-что удалить. Делать это вручную в SQL-е долго и вероятность возникновения ошибок достаточно велика, а с помощью Excel-a это изменение заняло несколько минут.
Еще одним плюсом данного подхода является возможность генерации на основании одних и тех же данных кода для разных систем-платформ-версий: например, генерации SQL скриптов для Microsoft SQL Server, Oracle и MySQL, исходного кода на Java и C#, bat и sh файлов и пр.
Комментариев нет:
Отправить комментарий