START TRANSACTION;

--    IRAP : Distribution 21/01/2016 *
/*
- Si elle existe, supprimer table "fichiers"
- Sauvegarder les utilisateurs
- Transformer table "utilisateurs" en "users"
- Ajout table "configuration"
- Ajout clé étrangère emprunts (site_id)/suivis (type_suivi_id)
- Transformation des données correspondantes
- Suppression ancien champ emprunt (e_lieu_stockage), suivis (type_intervention)
*/
set foreign_key_checks=0;

DROP TABLE IF EXISTS `fichiers`;


-- Utilisateurs -> Users 
-- 25/04/2016
-- Modifications nom table "utilisateurs" ==> "users"
-- Ajout attribut "password" dans la table users
-- Modification attribut "login" de la table users en "username"

CREATE TABLE users AS SELECT * FROM utilisateurs ;

ALTER TABLE `users` ADD `password` VARCHAR(255) DEFAULT '';

ALTER TABLE `users` CHANGE `login` `username` VARCHAR(45) DEFAULT NULL;

DROP TABLE IF EXISTS `utilisateurs`;

INSERT INTO users (nom, username, password, email, role) VALUES
('super-admin', 'superadmin', '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW', 'superadmin@admin.fr', 'Super Administrateur');

--
-- Contraintes pour la table `users`
--
ALTER TABLE `users`
  ADD CONSTRAINT `fk_users_groupes_travails1` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;


DROP TABLE IF EXISTS `configurations`;
CREATE TABLE IF NOT EXISTS `configurations` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)',
  `mode_install` tinyint(1)  DEFAULT NULL,
  `mode_debug` tinyint(1)  DEFAULT NULL,
  `use_ldap` tinyint(1)  DEFAULT NULL,
  `host_ldap` varchar(30)  DEFAULT NULL,
  `port_ldap` varchar(10)  DEFAULT NULL,
  `authentificationType_ldap` varchar(30)  DEFAULT NULL,
  `baseDn_ldap` varchar(30)  DEFAULT NULL,
  `filter_ldap` varchar(30)  DEFAULT NULL,
  `labName` varchar(30)  DEFAULT NULL,
  `labNameShort` varchar(20)  DEFAULT NULL,
  `labPresent` varchar(10)  DEFAULT NULL,
  `labUmr` varchar(30)  DEFAULT NULL,
  `hasPrinter` tinyint(1)  DEFAULT NULL,
  `emailGuest1` varchar(45)  DEFAULT NULL,
  `emailGuest2` varchar(45)  DEFAULT NULL,
  `emailGuest3` varchar(45)  DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `nom_UNIQUE` (`nom`)
);


Insert into `configurations`(`nom`, `mode_install`, `mode_debug`, `use_ldap`, `host_ldap`, `port_ldap`, `authentificationType_ldap`, `baseDn_ldap`, `filter_ldap`, `labName`, `labNameShort`, `labPresent`, `labUmr`, `hasPrinter`, `emailGuest1`, `emailGuest2`, `emailGuest3`) values ('default', '1', '0', '0', '', '', '', '', '', 'LABONAME', 'LABO', 'du ', '', '0', '', '', '');

-- EMPRUNTS
-- Structure de la table emprunts
ALTER TABLE `emprunts` ADD `site_id` int(11) DEFAULT NULL;

-- Contrainte de la table emprunts
ALTER TABLE `emprunts`
  ADD CONSTRAINT `fk_emprunts_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Transformation des données
update emprunts set site_id = NULL where e_lieu_stockage is NULL;
update emprunts set site_id ="1" where e_lieu_stockage like "B%";
update emprunts set site_id ="2" where e_lieu_stockage like "R%";
update emprunts set site_id ="3" where e_lieu_stockage like "T%";
update emprunts set site_id ="4" where e_lieu_stockage like "C%";

-- Suppression attribut
ALTER TABLE `emprunts` DROP `e_lieu_stockage`;


-- SUIVIS
-- Structure de la table suivis
ALTER TABLE `suivis` ADD `type_suivi_id` int(11) DEFAULT NULL;

-- Contrainte de la table suivis
ALTER TABLE `suivis`
  ADD CONSTRAINT `fk_suivis_type_suivi_id` FOREIGN KEY (`type_suivi_id`) REFERENCES `type_suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Transformation des données
update suivis set type_suivi_id = NULL where type_intervention is NULL;
update suivis set type_suivi_id ="1" where type_intervention like "Etalonnage%";
update suivis set type_suivi_id ="2" where type_intervention like "Maintenance%";

-- Suppression attribut
ALTER TABLE `suivis` DROP `type_intervention`;

COMMIT;
