Я использую DMS для создания текущей задачи, которая будет развертывать данные из моей рабочей базы данных в базу данных для разработки. Однако персональные данные должны быть замаскированы, поэтому для этого я создаю набор правил.
Разработчикам будет проще, если длина данных в каждой строке останется такой же, как в продакшене. Поэтому я создал правило, чтобы сохранить первую букву и добавить немного Икс после.
Это моя схема преобразования:
{
"правила": [
{
"тип правила": "выбор",
"идентификатор правила": "1",
"имя-правила": "1",
"локатор объекта": {
"имя-схемы": "моя база данных",
"имя-таблицы": "my_table"
},
"правило-действие": "включить"
},
{
"тип правила": "преобразование",
"идентификатор правила": "2",
"имя-правила": "2",
"правило-действие": "добавить столбец",
"правило-цель": "столбец",
"локатор объекта": {
"имя-схемы": "моя база данных",
"имя-таблицы": "my_table"
},
"значение": "TMPcontact_name",
"выражение": "substr($contact_name, 0, 2) || replace(printf('%.' || длина($contact_name) || 'c', '/'), '/', 'x') ",
"тип данных": {
"тип": "строка",
"длина": "50"
}
},
{
"тип правила": "преобразование",
"идентификатор правила": "3",
"имя-правила": "3",
"правило-действие": "удалить столбец",
"правило-цель": "столбец",
"локатор объекта": {
"имя-схемы": "моя база данных",
"имя-таблицы": "my_table",
"имя-столбца": "имя_контакта"
}
},
{
"тип правила": "преобразование",
"идентификатор правила": "4",
"имя-правила": "4",
"правило-действие": "переименовать",
"правило-цель": "столбец",
"локатор объекта": {
"имя-схемы": "моя база данных",
"имя-таблицы": "my_table",
"имя-столбца": "TMPcontact_name"
},
"значение": "имя_контакта"
}
]
}
Проблема в том, что DMS игнорирует правило №4. После завершения процесса имя столбца в цели TMPcontact_name. Журналы в CW не содержат никаких ошибок или уведомлений, связанных с этим. Я не смог найти соответствующую документацию.