From 2faebfd402cf85c09ed37b135f874731d6d43dea Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Mon, 18 Aug 2025 11:32:24 +0200 Subject: [PATCH] Adists: d90, dif: Fix update for scenario. --- src/Model/D90AdisTS/D90AdisTSSpec.py | 23 +++++++++++++++++++++++ src/Model/DIFAdisTS/DIFAdisTSSpec.py | 22 ++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/src/Model/D90AdisTS/D90AdisTSSpec.py b/src/Model/D90AdisTS/D90AdisTSSpec.py index bc4af68f..cbb6a92b 100644 --- a/src/Model/D90AdisTS/D90AdisTSSpec.py +++ b/src/Model/D90AdisTS/D90AdisTSSpec.py @@ -103,6 +103,29 @@ class D90AdisTSSpec(SQLSubModel): execute(f"DROP TABLE {table}") execute(f"ALTER TABLE {table_new}_tmp RENAME TO {table_new}") + cls._db_update_to_0_2_0_set_d90_pid(execute, data) + + @classmethod + def _db_update_to_0_2_0_set_d90_pid(cls, execute, data): + pid_d90 = data["id2pid"]["d90_adists"] + els = execute( + f"SELECT pamhyr_id, d90 FROM d90_adists_spec" + ) + + for row in els: + it = iter(row) + pid = next(it) + pol_id = next(it) + + if pol_id == -1: + continue + + execute( + f"UPDATE d90_adists_spec" + + f"SET d90 = {pid_d90[d90_id]} " + + f"WHERE pamhyr_id = {pid}" + ) + @classmethod def _db_load(cls, execute, data=None): new = [] diff --git a/src/Model/DIFAdisTS/DIFAdisTSSpec.py b/src/Model/DIFAdisTS/DIFAdisTSSpec.py index 0c5d9c26..1447aa98 100644 --- a/src/Model/DIFAdisTS/DIFAdisTSSpec.py +++ b/src/Model/DIFAdisTS/DIFAdisTSSpec.py @@ -115,6 +115,28 @@ class DIFAdisTSSpec(SQLSubModel): execute(f"ALTER TABLE {table_new}_tmp RENAME TO {table_new}") cls._db_update_to_0_2_0_set_reach_pid(execute, table, reachs) + cls._db_update_to_0_2_0_set_dif_pid(execute, data) + + @classmethod + def _db_update_to_0_2_0_set_dif_pid(cls, execute, data): + pid_dif = data["id2pid"]["dif_adists"] + els = execute( + f"SELECT pamhyr_id, dif FROM dif_adists_spec" + ) + + for row in els: + it = iter(row) + pid = next(it) + pol_id = next(it) + + if pol_id == -1: + continue + + execute( + f"UPDATE dif_adists_spec" + + f"SET dif = {pid_dif[dif_id]} " + + f"WHERE pamhyr_id = {pid}" + ) @classmethod def _db_load(cls, execute, data=None):