Ajout des fonctions de migration dans les taches Cron. Ajout du champ 'TB_Generations_bateaux.Version_soft' afin de mémoriser quelle est la structure en cours de la BDD active du bateau. Cette version est mise à jour à chaque détection (automatique) d'update, juste après la migration de la structure de la base du bateau sur le VPS
This commit is contained in:
+11
-4
@@ -445,7 +445,7 @@ function Executer_cron_archivage()
|
||||
{
|
||||
$motif = 'creation_initiale';
|
||||
}
|
||||
$resultat_generation = Creer_generation($db, $id_bateau, $motif, $zone_usine);
|
||||
$resultat_generation = Creer_generation($db, $id_bateau, $motif, $zone_usine, $version_cible);
|
||||
if (!$resultat_generation['ok'])
|
||||
{
|
||||
echo " ÉCHEC de création de génération : " . $resultat_generation['raison'] . " - rejetée.\n";
|
||||
@@ -458,9 +458,16 @@ function Executer_cron_archivage()
|
||||
else
|
||||
{
|
||||
$nom_base_cible = $generation_active['nom_base'];
|
||||
echo " Génération existante : {$nom_base_cible}.\n";
|
||||
// Bloc suivant : rejeu des segments incrémentaux si la version a changé,
|
||||
// via Extraire_segments_incrementaux() + exécution (même mécanique que Creer_generation).
|
||||
// Migration du schéma AVANT chargement si la version logicielle a évolué (mise à jour du
|
||||
// bateau) - les données de l'archive ont été produites avec le nouveau schéma (synthèse §46) :
|
||||
$migration = Migrer_generation($db, $generation_active, $version_cible, $fichier_sql, $contenu_fichier_sql);
|
||||
if (!$migration['ok'])
|
||||
{
|
||||
echo " ÉCHEC : " . $migration['raison'] . " - rejetée.\n";
|
||||
Rejeter_archive($db, $boitier['Adresse_netbird'], $nom, $recuperation['contenu'], $adresse_mac, $id_bateau, $migration['raison'], $mmsi_recu, $mmsi_attendu_connu);
|
||||
continue;
|
||||
}
|
||||
echo " Génération existante : {$nom_base_cible} (" . $migration['message'] . ").\n";
|
||||
}
|
||||
$chargement = Charger_contenu_archive($nom_base_cible, $dechiffrement['sql']);
|
||||
if (!$chargement['ok'])
|
||||
|
||||
Reference in New Issue
Block a user