diff --git a/src/Model/Results/Results.py b/src/Model/Results/Results.py index 780b6f8d..000df25c 100644 --- a/src/Model/Results/Results.py +++ b/src/Model/Results/Results.py @@ -116,10 +116,16 @@ class Results(SQLSubModel): @classmethod def _db_update(cls, execute, version, data=None): major, minor, release = version.strip().split(".") + create = False - if major == "0" and int(minor) <= 2: - if int(release) < 1: + if major == "0" and int(minor) < 2: + cls._db_create(execute) + create = True + + if major == "0" and int(minor) == 2: + if int(release) < 1 and not create: cls._db_create(execute) + create = True return cls._update_submodel(execute, version, data) @@ -139,6 +145,9 @@ class Results(SQLSubModel): f"WHERE scenario = {scenario.id}" ) + if table is None: + yield new + if len(table) > 1: logger.warning("Multiple results for this scenario") diff --git a/src/Model/Results/River/River.py b/src/Model/Results/River/River.py index ce9c0006..20a14613 100644 --- a/src/Model/Results/River/River.py +++ b/src/Model/Results/River/River.py @@ -105,10 +105,16 @@ class Profile(SQLSubModel): @classmethod def _db_update(cls, execute, version, data=None): major, minor, release = version.strip().split(".") + create = False - if major == "0" and int(minor) <= 2: - if int(release) < 1: + if major == "0" and int(minor) < 2: + cls._db_create(execute) + create = True + + if major == "0" and int(minor) == 2: + if int(release) < 1 and not create: cls._db_create(execute) + create = True return cls._update_submodel(execute, version, data)