diff options
| author | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
| commit | bf6655a534a6775d30cafa67bd801276bda1d98d (patch) | |
| tree | c6381e3f6c81c33eab72508f410b165ba05f7e9c /src/model/version 0.1/StructTablesDB.php | |
| parent | 94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff) | |
| download | AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.tar.gz AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.tar.bz2 AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip | |
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'src/model/version 0.1/StructTablesDB.php')
| -rw-r--r-- | src/model/version 0.1/StructTablesDB.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/model/version 0.1/StructTablesDB.php b/src/model/version 0.1/StructTablesDB.php new file mode 100644 index 0000000..303af46 --- /dev/null +++ b/src/model/version 0.1/StructTablesDB.php | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | <?php | ||
| 2 | // src/model/StructTablesDB.php | ||
| 3 | |||
| 4 | // structure de données façon C | ||
| 5 | // créer les requêtes avec implode(', ', $DbStructure) | ||
| 6 | class StructTablesDB | ||
| 7 | { | ||
| 8 | // possibilité de lire un fichier JSON | ||
| 9 | static public $structureOfTables = [ | ||
| 10 | // la table prestations est liée à la table clients | ||
| 11 | // les tables devis_factures, cesu et locations sont liées à la table prestations | ||
| 12 | 'clients' => ['id' => 'INTEGER', 'prenom_nom' => 'TEXT', 'code_client' => 'TEXT', 'adresse' => 'TEXT', 'code_postal' => 'TEXT', 'ville' => 'TEXT', 'telephone' => 'TEXT', 'courriel' => 'TEXT', 'apropos' => 'TEXT', 'type' => 'TEXT DEFAULT prospect'], | ||
| 13 | 'prestations' => ['id' => 'INTEGER', 'id_client' => 'INTEGER', 'code_presta' => 'TEXT', 'date' => 'INTEGER', 'type_presta' => 'TEXT', 'mode_paiement' => 'TEXT', 'commentaires' => 'TEXT'], | ||
| 14 | 'devis' => ['id' => 'INTEGER', 'id_presta' => 'INTEGER', 'taches' => 'TEXT', 'total_main_d_oeuvre' => 'REAL', 'pieces' => 'TEXT', 'total_pieces' => 'REAL', 'deplacement' => 'REAL', 'prix_devis' => 'REAL', 'total_HT' => 'REAL', 'delai_livraison' => 'TEXT', 'validite_devis' => 'TEXT', 'signature_devis' => 'TEXT DEFAULT non'], | ||
| 15 | 'factures' => ['id' => 'INTEGER', 'id_presta' => 'INTEGER', 'taches' => 'TEXT', 'machine' => 'TEXT', 'OS' => 'TEXT', 'donnees' => 'TEXT', 'cles_licences' => 'TEXT', 'total_main_d_oeuvre' => 'REAL', 'pieces' => 'TEXT', 'total_pieces' => 'REAL', 'deplacement' => 'REAL', 'total_HT' => 'REAL'], | ||
| 16 | 'cesu' => ['id' => 'INTEGER', 'id_presta' => 'INTEGER', 'taches' => 'TEXT', 'duree_travail' => 'TEXT', 'salaire' => 'REAL'], | ||
| 17 | 'locations' => ['id' => 'INTEGER', 'id_presta' => 'INTEGER', 'designation' => 'TEXT', 'modele_description' => 'TEXT', 'valeur' => 'REAL', 'etat_des_lieux_debut' => 'TEXT', 'etat_des_lieux_fin' => 'TEXT', 'duree_location' => 'TEXT', 'loyer_mensuel' => 'REAL', 'loyers_payes' => 'INTEGER', 'caution' => 'INTEGER'] | ||
| 18 | ]; | ||
| 19 | |||
| 20 | // les types de variables de sqlite sont peu nombreux et autorisent un typage automatique | ||
| 21 | // le "type indiqué" est indiqué dans l'instruction CREATE TABLE | ||
| 22 | // https://www.leppf.com/site/spip.php?article89 | ||
| 23 | |||
| 24 | // || type indiqué || type choisi automatiquement || autre types possibles || | ||
| 25 | // --------------------------------------------------------------------------- | ||
| 26 | // || TEXT || TEXT || BLOB, NULL || | ||
| 27 | // || INTEGER || INTEGER (de 1 à 8 octets) || REAL, TEXT, BLOB, NULL || | ||
| 28 | // || REAL || REAL (flottant sur 9 octets) || TEXT, BLOB, NULL || | ||
| 29 | // || NUMERIC || INTEGER ou REAL || TEXT, BLOB, NULL || | ||
| 30 | // || NONE || indéfini || dépend des données || | ||
| 31 | |||
| 32 | // du code SQL écrit pour d'autres SGBD devrait fonctionner, | ||
| 33 | // sqlite fera des conversions dans ses propres types avec les problèmes qu'on peut imaginer | ||
| 34 | |||
| 35 | // pour les dates, on stockera à priori le timestamp | ||
| 36 | } | ||
