Actualiser README.md
This commit is contained in:
71
README.md
71
README.md
@@ -143,32 +143,73 @@ ____________________________
|
||||
# niveau AMOA Conseil et Métier
|
||||
|
||||
|
||||
Pour avoir ces tables il va falloir alimenter la base de report à partir de la base public
|
||||
|
||||
Pour les alimenter on va utiliser une fonction SQL.
|
||||
|
||||
Pour avoir ces tables il va falloir alimenter la base de report à partir de la base public
|
||||
donc rappel chaque socle a une base :
|
||||
- public.socleng-nomduclient
|
||||
et
|
||||
- report.socleng-nomduclient_report
|
||||
|
||||
La finalité est d'avoir cette table demandé par PBI, exemple ici "f_task_v2" :
|
||||

|
||||
|
||||
|
||||
On cré donc la table et ensuite, pour l'alimenter on va utiliser une fonction SQL .
|
||||

|
||||
|
||||
Cette fonction sera logé dans le dossier fonction sur dbeaver.
|
||||
et cette fonction fera notamment appel à 3 autres fonctions qui sont logé dans le dossier
|
||||
|
||||
Cette fonction va être appelé par un cronjob.
|
||||
En vous connectant donc a un serveur socle,
|
||||
Au travers de putty,
|
||||
Vous allez ajouter un job recurrent en .sh
|
||||
|
||||
Ce job pour faire simple, l'instance sur laquelle vous vous trouvez ayant accès à la base de donnée du socle, vous allez appelez la fonction via une sorte de
|
||||
En ouvrant cette fonction et en lisant le SQL vous constaterez que elle est casiment générique pour tout les comptes mais elle fait appel à 3 autre fonctions qui elles par contre doivent être "calibré" selon la logique metier.
|
||||

|
||||
|
||||
|
||||
Ces sous fonctions sont logé dans la base public.socleng-nomduclient et leur contenu depend...du metier. Donc pour savoir comment les modifier il faut faire appel au conseil:
|
||||

|
||||
|
||||
Cette fonction va être appelé ensuite par un cronjob depuis la liste des crontab -l accessible via putty (le classique). Sauf que cette fois on ne fait pas appel à un bash/shell executable ou autre mais on fait une connexion a postgre directement et on lance la fonction
|
||||
|
||||
Exemple d'un job à adapté selon vos comptes clients
|
||||
|
||||
```
|
||||
echo blabla
|
||||
|
||||
psql -U monsuperuser -d masuperbase...etc...on appele la fonction...
|
||||
|
||||
echo blabla
|
||||
#!/bin/bash
|
||||
set -x
|
||||
source /home/socleng-monoprix/exploit_batch/config-report-batch.properties
|
||||
echo "toto"
|
||||
#
|
||||
#Logs
|
||||
LOG_FILE="/home/socleng-monoprix/logs/Import_Donnes_Contact_For_PBI.log"
|
||||
#
|
||||
# Date de reference : 1er janvier 2023
|
||||
date_ref="2025-01-01"
|
||||
#
|
||||
# Date du jour (aujourd hui)
|
||||
date_du_jour=$(date +%Y-%m-%d)
|
||||
#
|
||||
# Calcul du nombre de jours entre les deux dates
|
||||
nb_jours=$(( ($(date -d "$date_du_jour" +%s) - $(date -d "$date_ref" +%s)) / 86400 ))
|
||||
echo "=== debut" >> "$LOG_FILE"
|
||||
echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE"
|
||||
echo "Nombre de jours entre le 1er janvier 2023 et aujourd'hui : $nb_jours" >> "$LOG_FILE"
|
||||
#
|
||||
# Suppression des donnees de la table f_contact_v2
|
||||
echo "lancement truncate table f_contact_v2" >> "$LOG_FILE"
|
||||
echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE"
|
||||
psql -U $userReport -h $hoteReport -d $baseReport -c "TRUNCATE TABLE report.f_contact_v2 CONTINUE IDENTITY RESTRICT;" >> "$LOG_FILE" 2>&1
|
||||
#
|
||||
# Import des donnees de la table f_contact_v2
|
||||
echo "lancement import des donnes table f_contact_v2" >> "$LOG_FILE"
|
||||
echo "select report.refresh_contact($nb_jours);" >> "$LOG_FILE"
|
||||
psql -U $userReport -h $hoteReport -d $baseReport -c "select report.refresh_contact($nb_jours);" >> "$LOG_FILE" 2>&1
|
||||
echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE"
|
||||
echo "=== fin" >> "$LOG_FILE"
|
||||
|
||||
```
|
||||
|
||||
Inspirez vous d'un compte qui a deja toute cette trame implementé pour construire votre script.
|
||||
|
||||
**Cedric ajoutera des captures d'ecran pour illustré les choses**
|
||||
|
||||
Bon courage
|
||||
|
||||
_Fait le 23/09/2025_
|
||||
_Réalisé par PREVOST Aurelien & FUSEAU Cédric_
|
||||
Reference in New Issue
Block a user