Вот сценарий, с которым у меня возникли проблемы:
Допустим, я использовал BIML для генерации (заглушки) более 50 пакетов SSIS ... Для простоты, скажем, у каждого из них только один Execute SQLЗадача.
Package1
-> SQL Audit (INSERT INTO auditTable(val1) values ?)
Package2
-> SQL Audit (INSERT INTO auditTable(val1) values ?)
...
Package50
-> SQL Audit (INSERT INTO auditTable(val1) values ?)
Теперь я делаю изменения для каждого пакета для каждого пакета ...
Package1
-> SQL Audit (INSERT INTO auditTable(val1) values ?)
-> Add Dataflow: DFT Stage Data
Package2
-> SQL Audit (INSERT INTO auditTable(val1) values ?)
-> Add Expression: EXP SET Variable Value
...
Package50
-> SQL Audit (INSERT INTO auditTable(val1) values ?)
-> Add Script: SCT Call Webservice
На данный момент я создал 50 пакетов, используя шаблон BIML с (INSERT INTO auditTable(val1) values ?)
...
но я получаю новое требование для хранения второго столбца в audTable (val1, val2) (INSERT INTO auditTable(val1,val2) values ?,?)
, поэтому я регенерирую свои пакеты 1-> 50, используяобновлен шаблон BIML ... но - при этом - я потерял все настройки, относящиеся к пакету (добавление потока данных, добавление выражения и т. д.).
Package1
-> SQL Audit (INSERT INTO auditTable(val1,val2) values ?,?)
Package2
-> SQL Audit (INSERT INTO auditTable(val1,val2) values ?,?)
...
Package50
-> SQL Audit (INSERT INTO auditTable(val1,val2) values ?,?)
Так что мой вопрос...
Какой самый простой способ справиться с этим?
Насколько я могу судить, у меня есть следующие варианты:
- найтиКак использовать контроль версий (git или tfs) для выборочного объединения определенных частей старой версии файла в обновленный шаблон?Можно ли это сделать?Как?
- поддерживать временную копию каждого пакета и копировать / вставлять, повторно подключать компоненты, которые были уничтожены
- Есть ли способ настроить BIML таким образом, чтобы он перезаписывал только определенные части пакета(не все)?
** Я знаю, что есть лучшие способы разработать это ... Например, более хранимая процедура, ориентированная на будущее, вместо INSERT INTO
, но яИнтересует только ответы на основную проблему - как выборочно объединить определенные части файла из предыдущей версии после того, как он был перезаписан.