Mazání člena: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
m (Quimi přesunul stránku Mazání člena na Mazání člena bez založení přesměrování)
 
(Není zobrazeno 21 mezilehlých verzí od 3 dalších uživatelů.)
Řádek 1: Řádek 1:
 +
== Motivace ==
 +
 
Jednou za čas je potřeba smazat některého člena, který buď nebyl vůbec nikdy připojený nebo nikdy sdružení nic nezaplatil, takže není potřeba jej mít v evidenci jako člena.
 
Jednou za čas je potřeba smazat některého člena, který buď nebyl vůbec nikdy připojený nebo nikdy sdružení nic nezaplatil, takže není potřeba jej mít v evidenci jako člena.
  
Freenetis sám o sobě takové smazání jedním kliknutím (zatím) neumožňuje. Jediným řešením je pak odstranění odpovídajících záznamů přímo v databázi, ideálně skrz phpMyAdmin.
+
== Varování ==
 +
 
 +
Důrazně upozorňujeme, že pokud nevíte, co přesně děláte, můžete si svou neopatrností či chybou nevratně smazat data z databáze! Takže jakékoli mazání přímo na databázi mimo rozhraní FreenetISu je plně ve vaší zodpovědnosti.
 +
 
 +
== Postup ==
 +
 
 +
FreenetIS sám o sobě takové smazání jedním kliknutím (zatím) neumožňuje. Jediným řešením je pak odstranění odpovídajících záznamů přímo v databázi, ideálně skrz '''phpMyAdmin'''.
 +
 
 +
Některé záznamy (například zařízení toho člena, jeho neschválené práce, atd.) lze smazat přímo ve FreenetISu.
 +
 
 +
 
 +
Smazat '''ručně''' bude třeba:
 +
 
 +
* '''člena''' - záznam z tabulky '''members''' s odpovídajícím ID (zapamatujeme si hodnotu address_point_id = hodnotu ID jeho adresného bodu)
 +
 
 +
* '''hlavního uživatele''' - záznam z tabulky '''users''' s hodnotou sloupce member_id rovnajícího se odpovídajícímu ID člena, a také je třeba smazat další případné uživatele mazaného člena
 +
 
 +
* '''práva''' - záznamy z tabulky '''groups_aro_map''' s hodnotou sloupce aro_id rovnající se ID mazaných uživatelů
 +
 
 +
* '''kreditní účet''' - záznam z tabulky '''accounts''' s hodnotou sloupce member_id rovnajícího se odpovídajícímu ID člena (zapamatuje si ID tohoto účtu, viz následující)
 +
 
 +
* '''převody''' - záznam z tabulky '''transfers''' s hodnotou sloupce origin_id nebo destination_id rovnajícího se odpovídajícímu ID účtu člena (viz předchozí)
 +
 
 +
* '''adresní bod člena''' (pokud byl jediný komu patřil) - záznam z tabulky '''address_points''' s hodnotou ID rovnající se address_point_id z tabulky members
 +
 
 +
== SQL dotaz ==
 +
 
 +
TODO: Dopsat jediný SQL dotaz, který toto všechno udělá za vás...

Aktuální verze z 31. 1. 2018, 14:13

Motivace

Jednou za čas je potřeba smazat některého člena, který buď nebyl vůbec nikdy připojený nebo nikdy sdružení nic nezaplatil, takže není potřeba jej mít v evidenci jako člena.

Varování

Důrazně upozorňujeme, že pokud nevíte, co přesně děláte, můžete si svou neopatrností či chybou nevratně smazat data z databáze! Takže jakékoli mazání přímo na databázi mimo rozhraní FreenetISu je plně ve vaší zodpovědnosti.

Postup

FreenetIS sám o sobě takové smazání jedním kliknutím (zatím) neumožňuje. Jediným řešením je pak odstranění odpovídajících záznamů přímo v databázi, ideálně skrz phpMyAdmin.

Některé záznamy (například zařízení toho člena, jeho neschválené práce, atd.) lze smazat přímo ve FreenetISu.


Smazat ručně bude třeba:

  • člena - záznam z tabulky members s odpovídajícím ID (zapamatujeme si hodnotu address_point_id = hodnotu ID jeho adresného bodu)
  • hlavního uživatele - záznam z tabulky users s hodnotou sloupce member_id rovnajícího se odpovídajícímu ID člena, a také je třeba smazat další případné uživatele mazaného člena
  • práva - záznamy z tabulky groups_aro_map s hodnotou sloupce aro_id rovnající se ID mazaných uživatelů
  • kreditní účet - záznam z tabulky accounts s hodnotou sloupce member_id rovnajícího se odpovídajícímu ID člena (zapamatuje si ID tohoto účtu, viz následující)
  • převody - záznam z tabulky transfers s hodnotou sloupce origin_id nebo destination_id rovnajícího se odpovídajícímu ID účtu člena (viz předchozí)
  • adresní bod člena (pokud byl jediný komu patřil) - záznam z tabulky address_points s hodnotou ID rovnající se address_point_id z tabulky members

SQL dotaz

TODO: Dopsat jediný SQL dotaz, který toto všechno udělá za vás...