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

Z Freenetis Wiki
Přejít na: navigace, hledání
Řádek 2: Řádek 2:
  
 
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.
 +
 +
== 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 ==
 
== Postup ==
Řádek 14: Řádek 18:
 
* '''člena''' - záznam z tabulky '''members''' s odpovídajícím ID (zapamatujeme si hodnotu address_point_id = hodnotu ID jeho adresného bodu)
 
* '''č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
+
* '''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í)
 
* '''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 account_id rovnajícího se odpovídajícímu ID účtu člena (viz předchozí)
+
* '''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
 
* '''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

Verze z 26. 1. 2011, 10:06

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...