1.7 KiB
1.7 KiB
Structure BDD - MatosBox (reference)
Base
- SQLite par defaut :
matosbox.db - Postgres optionnel : base
matosbox
Tables principales
Objet
Champs :
- id
- nom
- description
- quantite
- prix_achat
- date_achat
- boutique
- numero_serie
- numero_modele
- fabricant
- statut (enum: en_stock, pret, hors_service, archive)
- caracteristiques (JSONB)
Relations :
- 1..n
PieceJointe - 1..n
ChampPersonnalise - n..n
EmplacementviaLienObjetEmplacement
Categorie
Champs :
- id
- nom
- parent_id
- slug
- icone
Relations :
- auto-reference (parent/enfant)
Emplacement
Champs :
- id
- nom
- parent_id
- slug
- piece
- meuble
- numero_boite
- icone
Relations :
- auto-reference (parent/enfant)
LienObjetEmplacement
Champs :
- id
- objet_id
- emplacement_id
- type (enum: stocke, utilise_dans)
ChampPersonnalise
Champs :
- id
- objet_id
- nom_champ
- type_champ (string/int/bool/date)
- valeur
- unite
PieceJointe
Champs :
- id
- objet_id
- nom_fichier
- chemin
- type_mime
- est_principale
- categorie (image/pdf_notice/markdown_tuto)
HistoriqueAchat
Champs :
- id
- objet_id
- boutique
- numero_commande
- prix
- date
- quantite
Pret
Champs :
- id
- objet_id
- a_utilisateur
- date_debut
- date_fin
- notes
MouvementStock
Champs :
- id
- objet_id
- delta_quantite
- raison
- date
Garantie
Champs :
- id
- objet_id
- fournisseur
- duree_mois
- date_debut
- preuve (piece_jointe_id)
Relations notables
- Arbres recursifs pour
CategorieetEmplacement. - Historique achats, prets et mouvements relies a
Objet. - Pieces jointes liees a
Objet.
Notes migration
- Migrations via Goose/Atlas.
- SQLite WAL a activer.
- Export/Import via CSV/JSON ou pgloader pour Postgres.