From: LeonardoBizzoni Date: Mon, 23 May 2022 08:31:29 +0000 (+0200) Subject: DB schema logico doc X-Git-Url: http://git.leonardobizzoni.com/?a=commitdiff_plain;h=a9d3f761c28489d9496e8fec68bafa90b827e0be;p=highschool-graduation-project DB schema logico doc --- diff --git a/README.org b/README.org index f0c778d..7ad1dd6 100644 --- a/README.org +++ b/README.org @@ -66,3 +66,22 @@ Il data layer si occupa della gestione ed immagazinamento dei dati generati dall /Il presentation layer non genera dati visto che opera come un reverse proxy./ L'installazione del database server mariadb viene anch'essa eseguita tramite un docker container e la container image disponibile su [[https://hub.docker.com/_/mariadb][hub.docker]] per cui non ha bisogno di alcuna configurazione. + +**** Schema E/R +[[./media/dbER.jpg]] + +#TODO: descrizione schema ER + +**** Schema logico +[[./media/dbLogico.jpg]] + +Le tabelle principali sono 3: +- *users*: contiene i dati degli utenti +- *favoriteVtuber*: vista la possibilità di un utente di avere più vtuber preferite e di conseguenza un vtuber può essere la preferita di più utenti è necessario aggiunngere una tabella tra queste 2 tabelle +- *vtubers*: contiene i dati delle vtuber in elenco + +La tabella *migrations* viene utilizzata per tenere traccia delle migrazioni applicate sul database. + +Per effettuare una modifica al database si utilizza lo script PHP [[./www/migrationScript.php][migrationScript]], questo prende *in ordine* tutte le *classi migration* presenti nella directory [[./www/Migrations][Migrations]]. +Lo script chiama di ogni classe il metodo "*up()*" che applica la modifica al database, crea una nuova entry nella tabella migrations per indicare che la migration in questione è stata applicata. +Prima di eseguire il metodo "up()" controlla che la migration non sia già stata applicata cercando una entry che abbia il nome della migration, se lo trova non esegue il metodo "up()" e prosegue con la successiva migration, se non lo trova deve eserguirla ed aggiungere una entry nella tabella. diff --git a/media/dbLogico.jpg b/media/dbLogico.jpg new file mode 100644 index 0000000..41fe01d Binary files /dev/null and b/media/dbLogico.jpg differ