Публикувана версия 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
