Опубликован nxs-data-anonymizer 1.4.0 — инструмент для анонимизации дампа баз данных PostgreSQL и MySQL/MariaDB/Percona. Утилита поддерживает анонимизацию данных на основе шаблонов и функций библиотеки Sprig. Среди прочего, для заполнения можно использовать значения других столбцов для той же строки. Допустимо использовать инструмент через неименованные каналы (pipe) в командной строке и перенаправить дамп из исходной БД непосредственно в целевую БД с необходимыми преобразованиями. Инструмент написан на языке Go и выпускается под лицензией Apache License 2.0.
Менее чем за год после первого релиза версии 1.0.0, в инструменте появились следующие возможности:
- Добавлена функция фильтров для работы со значениями null.
- Реализована команда -l/—log-format, позволяющая выбрать формат логирования (json или plain).
- Добавлена индикация процесса анонимизации — через указанные промежутки выводятся данные о прогрессе выполнения операции.
- В версии 1.4 появилась возможность задавать значения полей с помощью внешних команд, через добавление в значение столбца «type: command». Например: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Если для столбца указано «type: command», то значение поля value воспринимается как файловых путь к команде, которая будет запущена каждый раз для этого поля. Во время выполнения команды будут доступны дополнительные переменные окружения:
- ENVVARTABLE={TABLE_NAME}: содержит имя фильтруемой таблицы
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: содержит все столбцы и их значения (до замены) для текущей фильтруемой строки Stdout команды считается за новое значение фильтруемого поля.
Источник: opennet.ru