Import initial de Vivier depuis l'hebergement OVH
This commit is contained in:
commit
839e5e57c5
126 files changed
+22447
No files matched your search
@@ -0,0 +1,141 @@
|
||||
-- Vivier : passage d'une base 1.3 à 1.4
|
||||
-- Un seul état « Entretiens en cours », archivage, suivi des entretiens, relances, besoins clients,
|
||||
-- champs commerciaux, consentement, import en lot, sauvegardes.
|
||||
-- À exécuter une seule fois dans phpMyAdmin.
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- Les deux anciens états d'entretien deviennent « entretiens »
|
||||
ALTER TABLE candidats MODIFY statut ENUM('recu','en_cours','entretien_1_valide','entretien_2_valide','entretiens',
|
||||
'non_retenu','valide','embauche') NOT NULL DEFAULT 'recu';
|
||||
UPDATE candidats SET statut = 'entretiens' WHERE statut IN ('entretien_1_valide', 'entretien_2_valide');
|
||||
ALTER TABLE candidats MODIFY statut ENUM('recu','en_cours','entretiens','non_retenu','valide','embauche') NOT NULL DEFAULT 'recu';
|
||||
|
||||
ALTER TABLE candidats
|
||||
ADD COLUMN disponible_le DATE NULL AFTER disponibilite,
|
||||
ADD COLUMN tjm SMALLINT UNSIGNED NULL AFTER disponible_le,
|
||||
ADD COLUMN salaire_souhaite INT UNSIGNED NULL AFTER tjm,
|
||||
ADD COLUMN mobilite VARCHAR(200) NULL AFTER salaire_souhaite,
|
||||
ADD COLUMN teletravail ENUM('non','partiel','complet') NULL AFTER mobilite,
|
||||
ADD COLUMN archive_le DATETIME NULL AFTER motif_refus,
|
||||
ADD COLUMN archive_par INT UNSIGNED NULL AFTER archive_le,
|
||||
ADD COLUMN consentement_le DATE NULL AFTER conserver_jusqu_au,
|
||||
ADD COLUMN consentement_note VARCHAR(200) NULL AFTER consentement_le,
|
||||
ADD KEY idx_archive (archive_le),
|
||||
ADD CONSTRAINT fk_candidat_archive_par FOREIGN KEY (archive_par) REFERENCES utilisateurs(id);
|
||||
|
||||
-- Le journal accepte de nouvelles actions sans changer la table à chaque version
|
||||
ALTER TABLE historique MODIFY action VARCHAR(40) NOT NULL;
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
-- Besoins clients : les missions à pourvoir, et les profils proposés pour chacune
|
||||
-- ---------------------------------------------------------------
|
||||
CREATE TABLE besoins (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
client VARCHAR(200) NOT NULL,
|
||||
intitule VARCHAR(200) NOT NULL,
|
||||
description TEXT NULL,
|
||||
technologies VARCHAR(1000) NULL, -- liste séparée par des virgules
|
||||
seniorite_min ENUM('junior','intermediaire','confirme','expert') NULL,
|
||||
langues VARCHAR(300) NULL, -- liste séparée par des virgules
|
||||
lieu VARCHAR(150) NULL,
|
||||
teletravail ENUM('non','partiel','complet') NULL,
|
||||
tjm_max SMALLINT UNSIGNED NULL, -- budget journalier du client, en euros
|
||||
date_debut DATE NULL,
|
||||
statut ENUM('ouvert','pourvu','ferme') NOT NULL DEFAULT 'ouvert',
|
||||
cree_par INT UNSIGNED NOT NULL,
|
||||
cree_le DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
modifie_le DATETIME NULL,
|
||||
KEY idx_besoin_statut (statut),
|
||||
CONSTRAINT fk_besoin_cree_par FOREIGN KEY (cree_par) REFERENCES utilisateurs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE besoin_candidat (
|
||||
besoin_id INT UNSIGNED NOT NULL,
|
||||
candidat_id INT UNSIGNED NOT NULL,
|
||||
etat ENUM('propose','presente','retenu','ecarte') NOT NULL DEFAULT 'propose',
|
||||
note VARCHAR(500) NULL,
|
||||
ajoute_par INT UNSIGNED NOT NULL,
|
||||
ajoute_le DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (besoin_id, candidat_id),
|
||||
KEY idx_bc_candidat (candidat_id),
|
||||
CONSTRAINT fk_bc_besoin FOREIGN KEY (besoin_id) REFERENCES besoins(id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_bc_candidat FOREIGN KEY (candidat_id) REFERENCES candidats(id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_bc_utilisateur FOREIGN KEY (ajoute_par) REFERENCES utilisateurs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
-- Entretiens : un candidat peut en passer plusieurs pendant le statut « Entretiens en cours »
|
||||
-- ---------------------------------------------------------------
|
||||
CREATE TABLE entretiens (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
candidat_id INT UNSIGNED NOT NULL,
|
||||
date_entretien DATETIME NOT NULL,
|
||||
type ENUM('telephone','visio','presentiel','technique','client') NOT NULL,
|
||||
interlocuteur VARCHAR(150) NULL, -- qui a mené l'entretien
|
||||
besoin_id INT UNSIGNED NULL, -- besoin client concerné, s'il y en a un
|
||||
avis ENUM('favorable','reserve','defavorable') NULL,
|
||||
compte_rendu TEXT NULL,
|
||||
cree_par INT UNSIGNED NOT NULL,
|
||||
cree_le DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
KEY idx_entretien_candidat (candidat_id, date_entretien),
|
||||
KEY idx_entretien_date (date_entretien),
|
||||
CONSTRAINT fk_entretien_candidat FOREIGN KEY (candidat_id) REFERENCES candidats(id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_entretien_besoin FOREIGN KEY (besoin_id) REFERENCES besoins(id) ON DELETE SET NULL,
|
||||
CONSTRAINT fk_entretien_cree_par FOREIGN KEY (cree_par) REFERENCES utilisateurs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
-- Relances : une chose à faire pour un candidat, à une date donnée
|
||||
-- ---------------------------------------------------------------
|
||||
CREATE TABLE relances (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
candidat_id INT UNSIGNED NOT NULL,
|
||||
echeance DATE NOT NULL,
|
||||
objet VARCHAR(200) NOT NULL,
|
||||
fait_le DATETIME NULL,
|
||||
fait_par INT UNSIGNED NULL,
|
||||
cree_par INT UNSIGNED NOT NULL,
|
||||
cree_le DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
KEY idx_relance_echeance (fait_le, echeance),
|
||||
KEY idx_relance_candidat (candidat_id),
|
||||
CONSTRAINT fk_relance_candidat FOREIGN KEY (candidat_id) REFERENCES candidats(id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_relance_fait_par FOREIGN KEY (fait_par) REFERENCES utilisateurs(id),
|
||||
CONSTRAINT fk_relance_cree_par FOREIGN KEY (cree_par) REFERENCES utilisateurs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
-- Import en lot : un CV par ligne, en attente d'analyse ou de relecture.
|
||||
-- La ligne disparaît quand le profil est enregistré.
|
||||
-- ---------------------------------------------------------------
|
||||
CREATE TABLE imports_lot (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
jeton CHAR(32) CHARACTER SET ascii NOT NULL, -- nom du dossier temporaire
|
||||
nom_fichier VARCHAR(255) NOT NULL,
|
||||
etat ENUM('en_attente','pret','erreur') NOT NULL DEFAULT 'en_attente',
|
||||
erreur VARCHAR(1000) NULL,
|
||||
candidat VARCHAR(200) NULL, -- nom lu dans le profil, une fois l'analyse faite
|
||||
meta JSON NULL, -- fichiers rangés dans le dossier temporaire
|
||||
cree_par INT UNSIGNED NOT NULL,
|
||||
cree_le DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uq_lot_jeton (jeton),
|
||||
CONSTRAINT fk_lot_cree_par FOREIGN KEY (cree_par) REFERENCES utilisateurs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
-- Sauvegardes de la base : une ligne par exécution, réussie ou non
|
||||
-- ---------------------------------------------------------------
|
||||
CREATE TABLE sauvegardes (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
cree_le DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
origine ENUM('planifiee','manuelle') NOT NULL,
|
||||
reussie TINYINT(1) NOT NULL DEFAULT 0,
|
||||
fichier VARCHAR(100) NULL, -- nom du zip dans stockage/sauvegardes, NULL s'il a été supprimé
|
||||
taille_octets INT UNSIGNED NULL,
|
||||
profils INT UNSIGNED NULL, -- nombre de profils dans la sauvegarde
|
||||
envoi ENUM('envoye','sans_piece','echec','non_demande') NOT NULL DEFAULT 'non_demande',
|
||||
detail VARCHAR(500) NULL,
|
||||
cree_par INT UNSIGNED NULL, -- NULL : tâche planifiée
|
||||
KEY idx_sauvegarde_date (cree_le),
|
||||
CONSTRAINT fk_sauvegarde_cree_par FOREIGN KEY (cree_par) REFERENCES utilisateurs(id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in new issue
Block a user