-- Minimalizacja danych w kontach uzytkownikow (art. 5 ust. 1 lit. c RODO). -- -- 2026-09-25 z ustawien konta znikly dwa pola, ktore nie mialy celu: -- -- * data urodzenia - zbierana od osob prywatnych i nieuzywana przez zadna funkcje serwisu -- (brak weryfikacji wieku, brak wymogu prawnego). Kolumna app_users.birth_date zostaje -- w bazie, ale kod juz jej nie czyta ani nie zapisuje - ten skrypt czysci wartosci. -- -- * adres zamieszkania osoby prywatnej - do kontaktu sluzy e-mail i telefon, a adres -- nieruchomosci stoi przy ogloszeniu. Adres zostaje wylacznie kontom firmowym, gdzie jest -- siedziba przedsiebiorcy (dana jawna z CEIDG/KRS). Skrypt kasuje adresy kont PERSONAL. -- -- Domyslnie PROBA NA SUCHO: wszystko w jednej transakcji, skrypt pokazuje stan przed i po, -- po czym robi ROLLBACK. Zapis nastepuje tylko z -v apply=1. -- -- docker exec -i polskalokalnie-db-1 psql -U polskalokalnie -d polskalokalnie < scripts/minimize-user-data.sql -- docker exec -i polskalokalnie-db-1 psql -U polskalokalnie -d polskalokalnie -v apply=1 < scripts/minimize-user-data.sql \set ON_ERROR_STOP on \if :{?apply} \else \set apply 0 \endif BEGIN; \echo '=== Stan przed ===' SELECT 'konta razem' AS co, count(*) AS ile FROM app_users UNION ALL SELECT 'z data urodzenia', count(*) FROM app_users WHERE birth_date IS NOT NULL UNION ALL SELECT 'konta prywatne z adresem', count(*) FROM app_users WHERE account_type = 'PERSONAL' AND address IS NOT NULL UNION ALL SELECT 'konta firmowe z adresem (zostaja)', count(*) FROM app_users WHERE account_type = 'COMPANY' AND address IS NOT NULL; UPDATE app_users SET birth_date = NULL WHERE birth_date IS NOT NULL; UPDATE app_users SET address = NULL WHERE account_type = 'PERSONAL' AND address IS NOT NULL; \echo '=== Stan po ===' SELECT 'z data urodzenia' AS co, count(*) AS ile FROM app_users WHERE birth_date IS NOT NULL UNION ALL SELECT 'konta prywatne z adresem', count(*) FROM app_users WHERE account_type = 'PERSONAL' AND address IS NOT NULL UNION ALL SELECT 'konta firmowe z adresem (zostaja)', count(*) FROM app_users WHERE account_type = 'COMPANY' AND address IS NOT NULL; \if :apply COMMIT; \echo '>>> ZAPISANO (COMMIT) - daty urodzenia wyczyszczone, adresy kont prywatnych usuniete' \else ROLLBACK; \echo '>>> PROBA NA SUCHO - nic nie zostalo zmienione (ROLLBACK). Zapis: -v apply=1' \endif