Checkpoint: Correction complète de l'affichage du formateur dans la liste des séquences et dans le formulaire de modification. Ajout de la colonne formateurId dans la table sequences, modification du schéma Zod pour accepter null, et correction du FormateurCombobox pour stocker l'ID au lieu du nom. Le formateur s'affiche maintenant correctement dans la liste des séquences.

This commit is contained in:
Manus Sandbox
2025-11-20 04:36:02 -05:00
parent 7149458bb8
commit 1768e45dc1
15 changed files with 1133 additions and 5 deletions

View File

@@ -0,0 +1,98 @@
{
"query": "DESCRIBE sequences",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute DESCRIBE sequences",
"rows": [
{
"Field": "id",
"Type": "int(11)",
"Null": "NO",
"Key": "PRI",
"Default": "NULL",
"Extra": "auto_increment"
},
{
"Field": "formationId",
"Type": "int(11)",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "nom",
"Type": "varchar(255)",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "lieu",
"Type": "varchar(500)",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "capaciteMax",
"Type": "int(11)",
"Null": "NO",
"Key": "",
"Default": "12",
"Extra": ""
},
{
"Field": "dateBlocage",
"Type": "datetime",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "statut",
"Type": "enum('ouverte','bloquee','terminee')",
"Null": "NO",
"Key": "",
"Default": "ouverte",
"Extra": ""
},
{
"Field": "createdAt",
"Type": "timestamp",
"Null": "NO",
"Key": "",
"Default": "CURRENT_TIMESTAMP",
"Extra": ""
},
{
"Field": "updatedAt",
"Type": "timestamp",
"Null": "NO",
"Key": "",
"Default": "CURRENT_TIMESTAMP",
"Extra": "DEFAULT_GENERATED on update CURRENT_TIMESTAMP"
},
{
"Field": "publicCible",
"Type": "enum('directeur','chef_service','tous','autre')",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "formateur",
"Type": "varchar(255)",
"Null": "YES",
"Key": "",
"Default": "NULL",
"Extra": ""
}
],
"messages": [],
"stdout": "Field\tType\tNull\tKey\tDefault\tExtra\nid\tint(11)\tNO\tPRI\tNULL\tauto_increment\nformationId\tint(11)\tNO\t\tNULL\t\nnom\tvarchar(255)\tNO\t\tNULL\t\nlieu\tvarchar(500)\tNO\t\tNULL\t\ncapaciteMax\tint(11)\tNO\t\t12\t\ndateBlocage\tdatetime\tNO\t\tNULL\t\nstatut\tenum('ouverte','bloquee','terminee')\tNO\t\touverte\t\ncreatedAt\ttimestamp\tNO\t\tCURRENT_TIMESTAMP\t\nupdatedAt\ttimestamp\tNO\t\tCURRENT_TIMESTAMP\tDEFAULT_GENERATED on update CURRENT_TIMESTAMP\npublicCible\tenum('directeur','chef_service','tous','autre')\tNO\t\tNULL\t\nformateur\tvarchar(255)\tYES\t\tNULL\t\n",
"stderr": "",
"execution_time_ms": 54
}

View File

@@ -0,0 +1,9 @@
{
"query": "ALTER TABLE sequences ADD COLUMN formateurId INT NULL",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute ALTER TABLE sequences ADD COLUMN formateurId INT NULL",
"rows": [],
"messages": [],
"stdout": "",
"stderr": "",
"execution_time_ms": 433
}

View File

@@ -0,0 +1,15 @@
{
"query": "SELECT id, nom, formateurId FROM sequences WHERE nom = 'Test Formateur 2'",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT id, nom, formateurId FROM sequences WHERE nom = 'Test Formateur 2'",
"rows": [
{
"id": "150002",
"nom": "Test Formateur 2",
"formateurId": "NULL"
}
],
"messages": [],
"stdout": "id\tnom\tformateurId\n150002\tTest Formateur 2\tNULL\n",
"stderr": "",
"execution_time_ms": 52
}

View File

@@ -0,0 +1,24 @@
{
"query": "SELECT * FROM formateurs",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT * FROM formateurs",
"rows": [
{
"id": "1",
"nom": "Jean Dupont",
"actif": "1",
"createdAt": "2025-11-20 08:56:03",
"updatedAt": "2025-11-20 08:56:03"
},
{
"id": "30001",
"nom": "George Clooney",
"actif": "1",
"createdAt": "2025-11-20 09:10:53",
"updatedAt": "2025-11-20 09:10:53"
}
],
"messages": [],
"stdout": "id\tnom\tactif\tcreatedAt\tupdatedAt\n1\tJean Dupont\t1\t2025-11-20 08:56:03\t2025-11-20 08:56:03\n30001\tGeorge Clooney\t1\t2025-11-20 09:10:53\t2025-11-20 09:10:53\n",
"stderr": "",
"execution_time_ms": 50
}

View File

@@ -0,0 +1,106 @@
{
"query": "SHOW COLUMNS FROM sequences",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SHOW COLUMNS FROM sequences",
"rows": [
{
"Field": "id",
"Type": "int(11)",
"Null": "NO",
"Key": "PRI",
"Default": "NULL",
"Extra": "auto_increment"
},
{
"Field": "formationId",
"Type": "int(11)",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "nom",
"Type": "varchar(255)",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "lieu",
"Type": "varchar(500)",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "capaciteMax",
"Type": "int(11)",
"Null": "NO",
"Key": "",
"Default": "12",
"Extra": ""
},
{
"Field": "dateBlocage",
"Type": "datetime",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "statut",
"Type": "enum('ouverte','bloquee','terminee')",
"Null": "NO",
"Key": "",
"Default": "ouverte",
"Extra": ""
},
{
"Field": "createdAt",
"Type": "timestamp",
"Null": "NO",
"Key": "",
"Default": "CURRENT_TIMESTAMP",
"Extra": ""
},
{
"Field": "updatedAt",
"Type": "timestamp",
"Null": "NO",
"Key": "",
"Default": "CURRENT_TIMESTAMP",
"Extra": "DEFAULT_GENERATED on update CURRENT_TIMESTAMP"
},
{
"Field": "publicCible",
"Type": "enum('directeur','chef_service','tous','autre')",
"Null": "NO",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "formateur",
"Type": "varchar(255)",
"Null": "YES",
"Key": "",
"Default": "NULL",
"Extra": ""
},
{
"Field": "formateurId",
"Type": "int(11)",
"Null": "YES",
"Key": "",
"Default": "NULL",
"Extra": ""
}
],
"messages": [],
"stdout": "Field\tType\tNull\tKey\tDefault\tExtra\nid\tint(11)\tNO\tPRI\tNULL\tauto_increment\nformationId\tint(11)\tNO\t\tNULL\t\nnom\tvarchar(255)\tNO\t\tNULL\t\nlieu\tvarchar(500)\tNO\t\tNULL\t\ncapaciteMax\tint(11)\tNO\t\t12\t\ndateBlocage\tdatetime\tNO\t\tNULL\t\nstatut\tenum('ouverte','bloquee','terminee')\tNO\t\touverte\t\ncreatedAt\ttimestamp\tNO\t\tCURRENT_TIMESTAMP\t\nupdatedAt\ttimestamp\tNO\t\tCURRENT_TIMESTAMP\tDEFAULT_GENERATED on update CURRENT_TIMESTAMP\npublicCible\tenum('directeur','chef_service','tous','autre')\tNO\t\tNULL\t\nformateur\tvarchar(255)\tYES\t\tNULL\t\nformateurId\tint(11)\tYES\t\tNULL\t\n",
"stderr": "",
"execution_time_ms": 58
}

View File

@@ -0,0 +1,8 @@
{
"query": "SELECT id, nom, formateurId FROM sequences WHERE nom = 'Test Formateur'",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT id, nom, formateurId FROM sequences WHERE nom = 'Test Formateur'",
"returncode": 1,
"logs": [
"ERROR 1054 (42S22) at line 1: Unknown column 'formateurid' in 'field list'"
]
}