A fost publicat nxs-data-anonymizer 1.4.0 — un instrument pentru anonimizarea dump-urilor de baze de date PostgreSQL și MySQL/MariaDB/Percona. Utilitarul suportă anonimizarea datelor pe baza șabloanelor și funcțiilor bibliotecii Sprig. Printre altele, pentru completare se pot utiliza valori din alte coloane pentru aceeași linie. Este permis să utilizați instrumentul prin canale neconvenționale (pipe) în linia de comandă și să redirecționați dump-ul din baza de date sursă direct în baza de date țintă cu transformările necesare. Instrumentul este scris în limbajul Go și este lansat sub licența Apache License 2.0.
La mai puțin de un an de la prima lansare a versiunii 1.0.0, instrumentul a primit următoarele funcționalități:
- A fost adăugată o funcție de filtre pentru a lucra cu valori null.
- A fost implementată comanda -l/—log-format, care permite selectarea formatului de logare (json sau plain).
- A fost adăugată o indicație a procesului de anonimizare — la intervale specificate sunt afișate date despre progresul operației.
- În versiunea 1.4 a apărut posibilitatea de a seta valorile câmpurilor folosind comenzi externe, prin adăugarea în valoarea coloanei „type: command”. De exemplu: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh
Dacă pentru coloană este specificat „type: command”, atunci valoarea câmpului value este percepută ca un path de fișier către comanda care va fi rulată de fiecare dată pentru acest câmp. În timpul executării comenzii vor fi disponibile variabile de mediu suplimentare:
- ENVVARTABLE={TABLE_NAME}: conține numele tabelului filtrat
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: conține toate coloanele și valorile lor (până la înlocuire) pentru linia filtrată curentă. Stdout-ul comenzii este considerat ca noua valoare a câmpului filtrat.
Sursa: opennet.ro
