Commit 2ac75c1a authored by Alice Salsé's avatar Alice Salsé
Browse files

📝 readme 🚧

parent 09ce578a
# CREATION DE LA BASE DE DONNEES
1. Renseigner les infos de connexions à la base de données dans le fichier `database.ini`
Pour se connecter en psql sur cette base de données entrer la commande :
```bash
bash connect_db.sh
```
=> les sorties s'écrivent dans le fichier `-psql_out.txt`
2. Compléter les fichiers de configuration dans le répertoire [../config/csv](../config/csv)
* mettre à la racine les fichiers de configuration communs à tous les schemas
- compléter le fichier [table_network.csv](../config/csv/table_network.csv) avec les colonnes ci_après (dans l'ordre) pour ajouter des attributs aux tables du réseau
- `table_name` = nom de la table ou mot-clé (cf ci-après)
- `colum_name` = nom de la colonne
- `data_type` = datatype au format PG ( *varchar(5) / numeric(8,2) / ...* )
- `nullable` = NULL / NOT NULL *(NULL si vide)*
- `unique` = UNIQUE *(ou vide)*
- `default` = valeur par défaut
- `references` = nom de la liste de valeur ( *vl_materiau* )
- `alias` = alias de la colonne
- `description` = description du contenu de la colonne
*Utiliser les mots clés ci-après dans la colonne `table_name` pour les attributs communs à plusieurs tables*
```json
{'_nw_all': ['node', 'pipe', 'part', 'lnode', 'lpipe', 'lpart'],
'_nw_point': ['node', 'part', 'lnode', 'lpart'],
'_nw_node': ['node', 'lnode'],
'_nw_part': ['part', 'lpart'],
'_nw_arc': ['pipe', 'lpipe'],
'_nw_line': ['pipe', 'lpipe'],
'_nw': ['node', 'pipe', 'part'],
'_nw_l': ['lnode', 'lpipe', 'lpart']}
```
- pour chaque liste de valeur référencée dans la colonne `references` créer un fichier `vl_<nomliste>.csv`
- `code` = valeur codée
- `description` = valeur décodée
- compléter le fichier pour définir les différents niveaux / étages [vl_level.csv](../config/csv/vl_level.csv)
- `code` = valeur codée de type integer
- `description` = valeur décodée
Si vous ne voulez pas paramétrer de niveau, compléter le fichier avec les valeurs :
```csv
code;description
0;Null
```
* créer des sous dossier pour chaque schema
- compléter le fichier `table_<schema>.csv` pour ajouter des attributs aux tables du réseau *(voir listing colonnes ci-dessus)*
- pour chaque liste de valeur référencée dans la colonne `references` créer un fichier `vl_<nomliste>.csv` *(voir listing colonnes ci-dessus)*
**Utiliser des liens symboliques si les fichiers de configurations csv et database.ini ne sont pas stockés dans le répertoire courant**
>- [Créer les liens symboliques](0_create_symlink.sh)
>- [Supprimer les liens symboliques](0_remove_symlink.sh)
3. Créer la base de données avec le script [1_create_database.sh](1_create_database.sh)
```bash
bash 1_create_database.sh <schema>
```
Message `Recréer une nouvelle base (y) / Utiliser la base existante (n) :`
*>>> Faire un choix pour écraser la base de données existante >>>`y`<<< ou ajouter un nouveau schema à la base de donnée >>>`n`<<<.*
Réaliser cette manipulation pour chaque schéma à créer dans la base de données.
Ce processus crée un fichier `<schema>_config_types.py` dans le répertoire `config`.
4. Installer les fonctions et les triggers avec le script [2_create_function_trigger.sh](2_create_function_trigger.sh)
```bash
bash 2_create_function_trigger.sh <schema>
```
# PARAMETRAGE DU PROJET QGIS
## Connexion via un service
## Paramétrage de la macro de démarrage
1. Spécifier la variable `_all_types` dans le fichier [qgs/macro.py](qgs/macro.py).
Créer un item pour chaque schema de votre modèle de données et remplacer `{}` par le dictionnaire présent dans le fichier `<schema>_config_types.py` correspondant.
```python
_all_types = {
'<schema1>' : {}
, '<schema2>' : {}
}
```
## Paramétrage automatique des formulaires de saisie
1. Exécuter le script [python/qgs_field_definition.py](python/qgs_field_definition.py) si les fichiers `<schema>_config_fields.py` n'existent pas dans le répertoire [config](config) ou si le modèle de données à été modifié
```bash
python python/qgs_field_definition.py <schema>
```
2. Ouvrir la console python dans QGIS.
:construction: Work in progress. :construction:
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment