Retrait de l'ancienne case « formation déjà prévue dans la répartition annuelle »
La fiche agent portait deux cases à cocher pour la formation depuis l'ajout du droit à l'enveloppe : celle-ci faisait doublon et disparaît, avec sa colonne `agent.formation_repartition_annuelle` et tout ce qui la lisait — projection SQL, création et modification d'agent, formulaires d'administration, JS, et liste des colonnes obligatoires de SchemaModel. L'enveloppe de formation ne dépend donc plus que du droit : AgentModel::trainingEnvelopeMinutes() rend 14 h ou 0. La colonne est retirée du socle (le CREATE TABLE ne la crée plus sur une base neuve) et par migration_v7_9c sur les bases existantes. migration_v7_9b perd sa clause AFTER, qui pointait sur la colonne supprimée et aurait fait échouer l'installation d'une base neuve ; sa réécriture est sans risque, le script de migration rejoue un fichier modifié et l'ALTER reste idempotent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,10 +7,9 @@
|
||||
-- « Formation » lors de la saisie des horaires, et son enveloppe de formation
|
||||
-- au PTA annuel vaut 0.
|
||||
--
|
||||
-- À ne pas confondre avec `formation_repartition_annuelle`, déjà présente :
|
||||
-- celle-ci signale que la formation est DÉJÀ comptée dans la répartition
|
||||
-- annuelle de l'agent — l'agent y a droit, l'enveloppe complémentaire n'est
|
||||
-- simplement pas ajoutée par-dessus.
|
||||
-- La colonne ne porte volontairement pas de clause AFTER : `migration_v7_9c`
|
||||
-- retire `formation_repartition_annuelle`, qui aurait servi de repère, et le
|
||||
-- socle ne la crée plus du tout sur une base neuve.
|
||||
--
|
||||
-- Nommage : les migrations sont jouées dans l'ordre alphabétique. Le suffixe
|
||||
-- « 9b » place ce fichier après migration_v7_9_tableau_de_bord.sql, ce qu'un
|
||||
@@ -21,5 +20,4 @@
|
||||
|
||||
ALTER TABLE agent
|
||||
ADD COLUMN IF NOT EXISTS droit_enveloppe_formation BOOLEAN NOT NULL DEFAULT TRUE
|
||||
COMMENT 'Droit à l''enveloppe annuelle complémentaire de 14 h de formation'
|
||||
AFTER formation_repartition_annuelle;
|
||||
COMMENT 'Droit à l''enveloppe annuelle de 14 h de formation';
|
||||
|
||||
17
database/migration_v7_9c_retrait_formation_repartition.sql
Normal file
17
database/migration_v7_9c_retrait_formation_repartition.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- ============================================================================
|
||||
-- PTA — Retrait de `agent.formation_repartition_annuelle`
|
||||
-- ============================================================================
|
||||
-- Cette colonne portait une seconde case à cocher sur la fiche agent : « une
|
||||
-- formation est déjà prévue dans la répartition annuelle, ne pas ajouter
|
||||
-- l'enveloppe complémentaire de 14 h ». Elle faisait doublon avec le droit à
|
||||
-- l'enveloppe de formation (`droit_enveloppe_formation`, migration v7_9b), seul
|
||||
-- conservé : l'enveloppe vaut 14 h si l'agent y a droit, 0 sinon.
|
||||
--
|
||||
-- Le calcul de `pta_annuel.enveloppe_formation_minutes` ne dépend donc plus que
|
||||
-- de `droit_enveloppe_formation` (AgentModel::trainingEnvelopeMinutes()).
|
||||
--
|
||||
-- Idempotente : rejouable sans effet de bord.
|
||||
-- ============================================================================
|
||||
|
||||
ALTER TABLE agent
|
||||
DROP COLUMN IF EXISTS formation_repartition_annuelle;
|
||||
@@ -105,7 +105,6 @@ CREATE TABLE agent (
|
||||
id_poste INT UNSIGNED NULL,
|
||||
type_contrat ENUM('PERMANENT', 'TEMPORAIRE') NOT NULL DEFAULT 'PERMANENT',
|
||||
date_fin_contrat DATE NULL,
|
||||
formation_repartition_annuelle BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
commentaire_pta VARCHAR(1000) NULL,
|
||||
id_structure INT UNSIGNED NULL COMMENT 'Lieu principal de rattachement',
|
||||
actif BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
|
||||
Reference in New Issue
Block a user