Vnútornosti LinuxOS - databáza
V dnešnom bogu o vnútornostiach LinuxOS sa budem zaoberať databázou.
Databázový systém
Ako databázový systém používame momentálne Postgresql 9.1 (kódové meno vykopávka). Admini sa môžu k databáze prihlasovať lokálne cez psql klienta.
Výpis tabuliek: (\dt)
Databázová schéma
Tu su rozpísané jednotlivé tabuľky v databáze (generované cez graph_models.
Archív blackhole (pripravujem import článkov z blackhole.sk)
Celá databázová schéma vyzerá takto.
Django modely
Modely sú popísané v súboroch models.py. Pri úprave databázového modelu stačí zmeniť príslušný záznam v models.py, vygenerovať migračný skript cez django-admin makemigrations a spustiť migračný skript cez django-admin migrate.
Pre pridávanie komentárov sa musíte prihlásiť.

Mám otázku, v čom si kreslil tú databázovú schému? Hľadám dáky program čo by mi navrhol a spriehľadnil väčšiu db.
generované cez graph_models
Presne tak. Inak dajú sa nakresliť cez graphviz (graph_models generuje najskôr .dot súbor a ten schrúme graphviz). Takto vyzerá kód ktorý generuje graph_models:
digraph model_graph { graph [bb="1.4211e-14,0,264,295", fontname=Helvetica, fontsize=8, splines=true ]; node [fontname=Helvetica, fontsize=8, label="\N", shape=plaintext ]; edge [fontname=Helvetica, fontsize=8 ]; wiki_models_Page [height=2.9722, label=< <TABLE BGCOLOR="palegoldenrod" BORDER="0" CELLBORDER="0" CELLSPACING="0"> <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="olivedrab4"> <FONT FACE="Helvetica Bold" COLOR="white"> Page<BR/><<FONT FACE="Helvetica Italic">MPTTModel,TimestampModelMixin</FONT>> </FONT></TD></TR> <TR><TD ALIGN="LEFT" BORDER="0"> <FONT FACE="Helvetica Bold">id</FONT> </TD><TD ALIGN="LEFT"> <FONT FACE="Helvetica Bold">AutoField</FONT> </TD></TR> ... </TABLE> >, pos="93,188", width=2.5833]; wiki_models_Page -> wiki_models_Page [arrowhead=none, arrowtail=dot, dir=both, label="parent (children)", lp="234,188", pos="s,186.12,208.48 193.48,205.08 200.04,201.1 204,195.41 204,188 204,178.12 196.95,171.3 186.12,167.52"]; accounts_models_User [height=0.5, label=< <TABLE BGCOLOR="palegoldenrod" BORDER="0" CELLBORDER="0" CELLSPACING="0"> <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="olivedrab4"> <FONT FACE="Helvetica Bold" COLOR="white">User</FONT> </TD></TR> </TABLE> >, pos="93,18", width=0.75]; wiki_models_Page -> accounts_models_User [arrowhead=none, arrowtail=dot, dir=both, label="last_author (page)", lp="126.5,58.5", pos="s,93,80.603 93,72.596 93,58.41 93,45.561 93,36.002"]; }