From d9b30b038bd1e8a5f92cb3390bfd0d06a2dbc1ef Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Thu, 22 Dec 2022 12:49:43 +0100 Subject: [PATCH] Bugfix & amelioration installation en mode docker --- .gitignore | 9 ++++++++- CHANGELOG | 6 ++++++ INSTALLATION | 2 +- README.md | 4 ++-- SET_DEBUG_MODE | 33 +++++++++++++++++++++++++++++++++ database/install/DB2_create_tables.sql | 40 +++++++++++++++------------------------- database/install/DB2_create_tables_HOWTO.txt | 15 +++++++++++++-- install/installation.sh | 20 ++++++++++++++++---- install/update.sh | 2 +- tmp/cache/models/.empty | 0 tmp/cache/models/empty | 0 tmp/cache/persistent/.empty | 0 tmp/cache/persistent/empty | 0 tmp/cache/views/.empty | 0 tmp/cache/views/empty | 0 15 files changed, 95 insertions(+), 36 deletions(-) create mode 100755 SET_DEBUG_MODE create mode 100755 tmp/cache/models/.empty delete mode 100755 tmp/cache/models/empty create mode 100755 tmp/cache/persistent/.empty delete mode 100755 tmp/cache/persistent/empty create mode 100755 tmp/cache/views/.empty delete mode 100755 tmp/cache/views/empty diff --git a/.gitignore b/.gitignore index 7327859..42ec3df 100644 --- a/.gitignore +++ b/.gitignore @@ -118,7 +118,7 @@ nbproject/* /MODIFS_DE_VENDOR/* -# Ne pas ignorer les fichier "empty" +# Ne pas ignorer les fichier ".empty" # Permet de transferer des dossiers vides tels que tmp, logs, vendor... !/tmp/sessions /tmp/sessions/* @@ -133,3 +133,10 @@ nbproject/* !/tmp/cache/views /tmp/cache/views/* !empty +!.empty + +# Ignore ORIG (OLD) files +*ORIG.* +*ORIG?.* +*.ORIG* + diff --git a/CHANGELOG b/CHANGELOG index 125b8f2..09b512e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -484,6 +484,12 @@ rien ? ======= CHANGES ======= ------- +22/12/2022 (EP) v5.6.0-3.10.1 + - (i) Bugfixes + Améliorations installation en mode docker + - (i) update BD pour installation + - (i) new script SET_DEBUG_MODE + +------- 10/12/2021 v5.5.6-3.10.1 - (i) script install lance ensuite script update diff --git a/INSTALLATION b/INSTALLATION index 51647af..a64d9ce 100755 --- a/INSTALLATION +++ b/INSTALLATION @@ -11,4 +11,4 @@ cd install/ ./installation.sh # Puis 1ere mise a jour, necessaire pour profiter des derniers agencements non repercutes dans le script install -./update.sh +#./update.sh diff --git a/README.md b/README.md index e3e95e2..d512a69 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : -------------------------------------------------------------------------------------------- -Date: 10/12/2021 -Version: v5.5.6-3.10.1 +Date: 22/12/2022 +Version: v5.6.0-3.10.1 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) diff --git a/SET_DEBUG_MODE b/SET_DEBUG_MODE new file mode 100755 index 0000000..77fcdaf --- /dev/null +++ b/SET_DEBUG_MODE @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +config_file="config/app.php" + +function usage { + echo + echo "Usage:" + echo "$0 ON/OFF" + echo "- ON : set general debug mode ON" + echo "- OFF : set general debug mode OFF" + echo +} + +[[ $1 != "ON" && $1 != "OFF" ]] && usage && exit + +if [[ $1 == "OFF" ]] ; then + # OFF + CURRENT_VAL="true" + NEW_VAL="false" +else + # ON + CURRENT_VAL="false" + NEW_VAL="true" +fi + +sed -e "s/'debug' => filter_var(env('DEBUG', $CURRENT_VAL)/'debug' => filter_var(env('DEBUG', $NEW_VAL)/" -i $config_file + +# For Mac OS => replace -i with -i '' +#sed -e "s/'debug' => filter_var(env('DEBUG', $CURRENT_VAL)/'debug' => filter_var(env('DEBUG', $NEW_VAL)/" -i '' $config_file + +echo +echo "DEBUG MODE is $1" +echo diff --git a/database/install/DB2_create_tables.sql b/database/install/DB2_create_tables.sql index b479570..f177f58 100644 --- a/database/install/DB2_create_tables.sql +++ b/database/install/DB2_create_tables.sql @@ -3,24 +3,19 @@ -- https://www.phpmyadmin.net/ -- -- Hôte : 127.0.0.1 --- Généré le : mer. 27 jan. 2021 à 17:39 +-- Généré le : lun. 19 déc. 2022 à 14:04 -- Version du serveur : 10.5.8-MariaDB --- Version de PHP : 7.2.34 +-- Version de PHP : 7.4.28 SET FOREIGN_KEY_CHECKS=0; -SET UNIQUE_CHECKS = 0; +-- SET UNIQUE_CHECKS = 0; SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; + START TRANSACTION; SET time_zone = "+00:00"; - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - -- --- Base de données : labinvent +-- Base de données : labinvent21 -- -- -------------------------------------------------------- @@ -269,6 +264,7 @@ CREATE TABLE materiels ( date_archived date DEFAULT NULL, date_acquisition date DEFAULT NULL, prix_ht decimal(13,2) DEFAULT NULL, + budgets varchar(45) DEFAULT NULL, eotp varchar(45) DEFAULT NULL, numero_commande varchar(45) DEFAULT NULL, code_comptable varchar(45) DEFAULT NULL, @@ -283,7 +279,7 @@ CREATE TABLE materiels ( nom_user varchar(45) DEFAULT NULL COMMENT 'Le destinataire utilisateur du matos', nom_responsable varchar(45) DEFAULT NULL, email_responsable varchar(45) DEFAULT NULL, - resp_credit varchar(50) DEFAULT NULL COMMENT 'Responsable du crédit', + resp_credit varchar(45) DEFAULT NULL COMMENT 'Responsable du crédit', gestionnaire_id int(11) DEFAULT NULL, nom_createur varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', nom_modificateur varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', @@ -292,6 +288,7 @@ CREATE TABLE materiels ( date_reception date DEFAULT NULL, organisme_id int(11) DEFAULT NULL, site_id int(11) DEFAULT NULL, + is_site_only tinyint(1) NOT NULL DEFAULT 0 COMMENT 'réservé au site', date_fin_garantie date DEFAULT NULL, duree_garantie int(10) DEFAULT NULL, unite_duree_garantie varchar(30) DEFAULT NULL, @@ -509,6 +506,7 @@ CREATE TABLE unites ( -- -- password varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW', + DROP TABLE IF EXISTS users; CREATE TABLE users ( id int(11) NOT NULL, @@ -518,6 +516,7 @@ CREATE TABLE users ( username varchar(45) DEFAULT NULL, email varchar(45) DEFAULT NULL, role varchar(45) DEFAULT NULL, + site_id int(11) DEFAULT NULL, groupes_metier_id int(11) DEFAULT NULL, is_resp_groupes_metier tinyint(1) NOT NULL DEFAULT 0 COMMENT 'responsable du groupe metier o/n', password varchar(255) DEFAULT NULL COMMENT 'on ne stocke pas le password ldap, meme si on pouvait...', @@ -690,7 +689,6 @@ ALTER TABLE stats -- -- Index pour la table suivis -- --- ADD KEY fk_admi_material_histories_admi_materials1 (materiel_id), ALTER TABLE suivis ADD PRIMARY KEY (id), ADD KEY fk_suivis_materiel_id (materiel_id), @@ -730,13 +728,13 @@ ALTER TABLE unites -- -- Index pour la table users -- --- ADD KEY fk_users_sur_categories_id_idx (sur_categorie_id), ALTER TABLE users ADD PRIMARY KEY (id), ADD UNIQUE KEY username (username), ADD UNIQUE KEY nom (nom), ADD KEY fk_users_sur_categories_id (sur_categorie_id), - ADD KEY fk_users_groupe_thematique_id (groupes_thematique_id); + ADD KEY fk_users_groupe_thematique_id (groupes_thematique_id), + ADD KEY fk_user_site (site_id); -- -- Index pour la table `variables` @@ -948,28 +946,20 @@ ALTER TABLE stats -- -- Contraintes pour la table suivis -- --- ADD CONSTRAINT fk_admi_material_histories_admi_materials1 FOREIGN KEY (materiel_id) REFERENCES materiels (id) ON DELETE NO ACTION ON UPDATE NO ACTION, - ALTER TABLE suivis - ADD CONSTRAINT fk_suivis_materiel_id FOREIGN KEY (materiel_id) REFERENCES materiels (id) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT fk_suivis_formule_id FOREIGN KEY (formule_id) REFERENCES formules (id) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT fk_suivis_groupe_metier FOREIGN KEY (groupes_metier_id) REFERENCES groupes_metiers (id) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT fk_suivis_groupe_thematique FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT fk_suivis_materiel_id FOREIGN KEY (materiel_id) REFERENCES materiels (id) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT fk_suivis_type_suivi_id FOREIGN KEY (type_suivi_id) REFERENCES type_suivis (id) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT fk_suivis_unite_id FOREIGN KEY (unite_id) REFERENCES unites (id) ON DELETE NO ACTION ON UPDATE NO ACTION; - -- -- Contraintes pour la table users -- ALTER TABLE users + ADD CONSTRAINT fk_user_site FOREIGN KEY (site_id) REFERENCES sites (id) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT fk_users_groupe_thematique_id FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE SET NULL ON UPDATE NO ACTION, ADD CONSTRAINT fk_users_sur_categorie_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- SET FOREIGN_KEY_CHECKS=1; --- SET UNIQUE_CHECKS = 1; +SET FOREIGN_KEY_CHECKS=1; COMMIT; - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/database/install/DB2_create_tables_HOWTO.txt b/database/install/DB2_create_tables_HOWTO.txt index 4164b5b..a45b37b 100644 --- a/database/install/DB2_create_tables_HOWTO.txt +++ b/database/install/DB2_create_tables_HOWTO.txt @@ -1,6 +1,11 @@ -(Dernier dump phpmyadmin = 27/01/2021) +(( +Derniers dump phpmyadmin : + - 19/12/2022 + - 27/01/2021 +)) + Pour mettre à jour le fichier DB2_create_tables.sql, il faut faire un DUMP avec PHPMYADMIN avec les options suivantes : @@ -9,11 +14,17 @@ il faut faire un DUMP avec PHPMYADMIN avec les options suivantes : - Il faut seulement la STRUCTURE (COCHER la colonne "Structure" et DÉCOCHER la colonne "Données") - Cocher "Utiliser le mode transactionnel" pour faire une TRANSACTION - Cocher "Désactiver la vérification des clés étrangères" -- DÉCOCHER "Ajouter une instruction CREATE DATABASE / USE" +- DÉ-COCHER "Ajouter une instruction CREATE DATABASE / USE" - Cocher "Ajouter une instruction DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER" ("pour avoir des drop if exists") - Enfin, DÉCOCHER tout en bas "Entourer les noms des tables et des colonnes par des guillemets" +Une fois récupéré le résultat : +- Supprimer les 2 instructions suivantes : + CREATE DATABASE ... + USE ... + + (Les data minimum par défaut sont insérées ensuite via le script DB3_insert_tables_default_mandatory_data.sql) diff --git a/install/installation.sh b/install/installation.sh index b44e4ac..6939215 100755 --- a/install/installation.sh +++ b/install/installation.sh @@ -13,8 +13,14 @@ $DEBUG || echo "DEBUG MODE IS OFF" # Chemins vers fichier de conf cakephp_app_path=./ config_path=$cakephp_app_path/config + +# General config file +config_file_default=$config_path/app.default.php config_file=$config_path/app.php -default_config_file=$config_path/app.default.php + +# Mandatory fields config file +fields_config_file_default=$config_path/app_labinvent_mandatory_fields.default.yml +fields_config_file=$config_path/app_labinvent_mandatory_fields.yml # Par defaut, on considere qu'on utilise docker @@ -373,12 +379,18 @@ echo echo "D.1 - Configuration de la BD (fichier config/app.php)" echo "-----------------------------------------------------" -# - Copie perso du fichier de config par défaut +# - Copie perso du fichier de config général par défaut # (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante)) [[ -f $config_file ]] && cp -p $config_file $config_file.ORIG #[[ $mode == "install" ]] && cp $config_path/app.default.php $config_file -##[[ $mode == "install" ]] && cp $default_config_file $config_file -cp $default_config_file $config_file +##[[ $mode == "install" ]] && cp $config_file_default $config_file +cp $config_file_default $config_file + +# - Copie perso du fichier de config des mandatory fields par défaut +# (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante)) +[[ -f $fields_config_file ]] && cp -p $fields_config_file $fields_config_file.ORIG +cp $fields_config_file_default $fields_config_file + # - (re)-Création de la BD ? ##echo diff --git a/install/update.sh b/install/update.sh index cf77019..ca928b2 100755 --- a/install/update.sh +++ b/install/update.sh @@ -209,7 +209,7 @@ echo "******************************************************************" [ ! -f $ftpf ] && touch $ftpf -# a) On fait la différence entre les fichiers de mise à jour BD présents après le git et avant +# a) On fait la différence entre les fichiers de mise à jour BD présents après et avant le git pull # TEST only #[[ $TEST == 1 ]] && (rm ../database/update/db-update-2014-08-23.sh ; touch ../database/update/test.txt ; touch ../database/update/db-update-2014-08-24.sh ; touch ../database/update/db-update-2014-08-25.sh; chmod +x ../database/update/db-update-2014-*.sh) diff --git a/tmp/cache/models/.empty b/tmp/cache/models/.empty new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/tmp/cache/models/.empty diff --git a/tmp/cache/models/empty b/tmp/cache/models/empty deleted file mode 100755 index e69de29..0000000 --- a/tmp/cache/models/empty +++ /dev/null diff --git a/tmp/cache/persistent/.empty b/tmp/cache/persistent/.empty new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/tmp/cache/persistent/.empty diff --git a/tmp/cache/persistent/empty b/tmp/cache/persistent/empty deleted file mode 100755 index e69de29..0000000 --- a/tmp/cache/persistent/empty +++ /dev/null diff --git a/tmp/cache/views/.empty b/tmp/cache/views/.empty new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/tmp/cache/views/.empty diff --git a/tmp/cache/views/empty b/tmp/cache/views/empty deleted file mode 100755 index e69de29..0000000 --- a/tmp/cache/views/empty +++ /dev/null -- libgit2 0.21.2