This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
-- 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
|
||||
Reference in New Issue
Block a user