- Corrige l'erreur SQL 'Unknown column fk_operation in users' - L'opération active est récupérée depuis operations.chk_active = 1 - Jointure avec users pour filtrer par entité de l'admin créateur - Query: SELECT o.id FROM operations o INNER JOIN users u ON u.fk_entite = o.fk_entite WHERE u.id = ? AND o.chk_active = 1
80 lines
2.5 KiB
Bash
Executable File
80 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script d'import BDNB tous départements de France
|
|
|
|
ladate=$(date +%Y%m%d-%H%M)
|
|
lheure=$(date +%H:%M:%S)
|
|
|
|
mybase=batiments
|
|
myuser=osm_maj_user
|
|
mypass=d66,OsmMaj.User
|
|
|
|
log=traite_batiments.log
|
|
rm -f $log
|
|
touch $log
|
|
echo "To: support@unikoffice.com" >> $log
|
|
echo "From: support@unikoffice.com" >> $log
|
|
echo "Subject: [Import] BATIMENTS BDNB dva-maria - $ladate" >> $log
|
|
echo "" >> $log
|
|
|
|
cd /var/osm
|
|
|
|
millesime="2024-10-a"
|
|
base_url="https://open-data.s3.fr-par.scw.cloud/bdnb_millesime_${millesime}/millesime_${millesime}_dep"
|
|
|
|
# Création du dossier csv s'il n'existe pas
|
|
mkdir -p csv
|
|
|
|
for dept in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 2A 2B 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 971 972 973 974 975 976 977 978 984 986 987 988 989
|
|
do
|
|
rm -f batiments-${dept}.zip
|
|
|
|
lheure=$(date +%H:%M:%S)
|
|
echo "Debut du telechargement du departement $dept a $lheure" >> $log
|
|
wget ${base_url}${dept}/open_data_millesime_${millesime}_dep${dept}_csv.zip -O batiments-${dept}.zip
|
|
|
|
if [ "$?" -ne "0" ] ; then
|
|
echo "!!!! Désolé, le téléchargement ne semble ne pas fonctionner pour le dept $dept. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> $log
|
|
else
|
|
lheure=$(date +%H:%M:%S)
|
|
echo "Telechargement du departement $dept termine a $lheure" >> $log
|
|
|
|
# Extraction du ZIP (contient déjà un dossier csv/)
|
|
unzip -o batiments-${dept}.zip
|
|
|
|
lheure=$(date +%H:%M:%S)
|
|
echo "Extraction terminee" >> $log
|
|
|
|
# Copie du template SQL et remplacement de 999 par le département
|
|
cp traite_batiments.sql traite_batiments_${dept}.sql
|
|
sed -i "s/999/$dept/g" traite_batiments_${dept}.sql
|
|
|
|
lheure=$(date +%H:%M:%S)
|
|
echo "Import SQL du departement $dept commence a $lheure" >> $log
|
|
|
|
mariadb --local-infile=1 -u$myuser -p$mypass $mybase < traite_batiments_${dept}.sql
|
|
|
|
if [ "$?" -ne "0" ]; then
|
|
echo "!!!! Erreur lors de l'import SQL pour le dept $dept !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> $log
|
|
else
|
|
echo "Import SQL reussi" >> $log
|
|
fi
|
|
|
|
# Nettoyage complet après import
|
|
rm -f csv/*.csv
|
|
rm -f csv/*.csvt
|
|
rm -f csv/*.prj
|
|
rm -rf csv/doc
|
|
rm -f batiments-${dept}.zip
|
|
rm -f traite_batiments_${dept}.sql
|
|
|
|
lheure=$(date +%H:%M:%S)
|
|
echo "Importation sql des batiments du departement $dept terminee a $lheure" >> $log
|
|
fi
|
|
done
|
|
|
|
lheure=$(date +%H:%M:%S)
|
|
echo "Fin des traitements a $lheure" >> $log
|
|
|
|
msmtp support@unikoffice.com < $log
|