Commit c43fc791879888a8458715e41c0c53b8e0093f11

Authored by Etienne Pallier
1 parent 5d172735
Exists in master and in 1 other branch dev

modif BD

database/update/db-update-2020-06-10.sh 0 → 100755
... ... @@ -0,0 +1,57 @@
  1 +#!/bin/bash
  2 +
  3 +#myname=`basename $0 .sh`
  4 +myname=`basename $0`
  5 +myname=${myname%%.*}
  6 +
  7 +# Pour Mac OS recent (>=10.10, Yosemite), la syntaxe du SED est differente
  8 +# Il faut donc exécuter ce script de la manière suivante :
  9 +# ./macos-db-update.sh <ce_script.sh>
  10 +
  11 +
  12 +function abort() {
  13 + echo "******************************************************"
  14 + echo "!!! Script $0 aborté à cause d'une erreur d'exécution !!!"
  15 + echo "******************************************************"
  16 + exit 1
  17 +}
  18 +
  19 +
  20 +if [ ! -f ../../config/app.php ] ; then
  21 +echo "Vous devez executer ce script depuis le dossier database/update/"
  22 +exit 1
  23 +fi
  24 +
  25 +
  26 +# Get login, pass, dbname, and hostname
  27 +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) || abort
  28 +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) || abort
  29 +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) || abort
  30 +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) || abort
  31 +
  32 +
  33 +#cp -p ./script_sql/db-update-2016-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql
  34 +cp -p ./script_sql/$myname.sql ./script_sql/$myname-build.sql || abort
  35 +
  36 +# Execute sql update script
  37 +sed -e "s/database/$database/" -i ./script_sql/$myname-build.sql || abort
  38 +mysql --user=$username --password=$password -h $host < ./script_sql/$myname-build.sql || abort
  39 +
  40 +# Delete temporary file and cakephp cache (-f avoids warning if no file)
  41 +rm -f ./script_sql/$myname-build.sql
  42 +sudo rm -f ../../tmp/cache/models/*
  43 +sudo rm -f ../../tmp/cache/persistent/*
  44 +
  45 +# Faire ca aussi si ca suffit pas...
  46 +#sudo chmod -R 777 ../../tmp
  47 +#sudo chmod -R 777 ../../vendor
  48 +#sudo chmod -R 777 ../../webroot
  49 +
  50 +
  51 +# PLUGIN update
  52 +# Installation plugin cakephp-dompdf
  53 +# (on va a la racine du projet)
  54 +#cd ../../
  55 +#php composer.phar require daoandco/cakephp-dompdf
  56 +#bin/cake plugin assets symlink
  57 +#cd -
... ...
database/update/script_sql/db-update-2020-06-10.sql 0 → 100755
... ... @@ -0,0 +1,43 @@
  1 +use database;
  2 +
  3 +-- On execute TOUT ou RIEN, c'est plus simple
  4 +START TRANSACTION;
  5 +
  6 +
  7 +-- Table type_suivis
  8 +-- 6/4/20 : ajout champ “is_regular” dans table type_suivis
  9 +ALTER TABLE `type_suivis` ADD `is_regular` BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'suivi de type régulier (avec fréquence et non pas date)' AFTER `nom`;
  10 +-- 8/4/20 : ajout champ “is_metro” dans table type_suivis
  11 +ALTER TABLE type_suivis ADD is_metro BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'type de suivi lié au module métrologie' AFTER is_regular;
  12 +update materiels set groupes_thematique_id=null WHERE groupes_thematique_id = (select id from groupes_thematiques where nom='N/A');
  13 +
  14 +
  15 +-- 4/5/20 : suppression du champ “N/A” de groupes_thematiques et groupes_metiers (inutile et pose difficultés)
  16 +-- et remplacement des liens vers ce champ dans table materiels par NULL
  17 +-- a) update materiels.group = null
  18 +update materiels set groupes_thematique_id=NULL WHERE groupes_thematique_id = (select id from groupes_thematiques where nom='N/A');
  19 +update materiels set groupes_metier_id=NULL WHERE groupes_metier_id = (select id from groupes_metiers where nom='N/A');
  20 +-- b) update suivis.group = null
  21 +update suivis set groupes_thematique_id=NULL WHERE groupes_thematique_id = (select id from groupes_thematiques where nom='N/A');
  22 +update suivis set groupes_metier_id=NULL WHERE groupes_metier_id = (select id from groupes_metiers where nom='N/A');
  23 +-- c) delete groupes 'N/A'
  24 +delete FROM groupes_metiers WHERE nom = 'N/A';
  25 +delete FROM groupes_thematiques WHERE nom = 'N/A';
  26 +
  27 +
  28 +-- 5/5/20 : suppression du champ “N/A” des tables sites et type_documents (inutile et pose difficultés)
  29 +-- et remplacement des liens vers ces champ par NULL dans tables materiels, emprunts et documents
  30 +-- //select designation,site_id from materiels WHERE site_id = (select id from sites where nom='N/A');
  31 +update materiels set site_id=NULL WHERE site_id = (select id from sites where nom='N/A');
  32 +update emprunts set site_id=NULL WHERE site_id = (select id from sites where nom='N/A');
  33 +update documents set type_document_id=NULL WHERE type_document_id = (select id from type_documents where nom='N/A');
  34 +delete FROM type_documents WHERE nom = 'N/A';
  35 +delete FROM sites WHERE nom = 'N/A';
  36 +
  37 +
  38 +-- 5/6/20 : renommé champ fk groupe_thematique_id de la table users en groupes_thematique_id
  39 +-- pour s’harmoniser avec les noms dans les autres tables
  40 +ALTER TABLE `users` CHANGE `groupe_thematique_id` `groupes_thematique_id` INT(11) NULL DEFAULT NULL;
  41 +
  42 +
  43 +COMMIT;
... ...