From 770bb5f96f6f7353b3223becb6b69d571c53e2df Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Fri, 19 Jan 2024 14:22:38 +0100
Subject: [PATCH] Config: Fix version updater.

---
 src/Model/Study.py |  3 ++-
 src/config.py      | 13 ++++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/Model/Study.py b/src/Model/Study.py
index 033f8867..e0696962 100644
--- a/src/Model/Study.py
+++ b/src/Model/Study.py
@@ -225,7 +225,8 @@ class Study(SQLModel):
 
         if self._update_submodel(version[0]):
             self.execute(
-                f"UPDATE info SET value='{self._version}' WHERE key='version'")
+                f"UPDATE info SET value='{self._version}' WHERE key='version'"
+            )
             return True
 
         logger.info("TODO: update failed")
diff --git a/src/config.py b/src/config.py
index e5c314c3..3739eada 100644
--- a/src/config.py
+++ b/src/config.py
@@ -115,15 +115,22 @@ class Config(SQL):
                     """)
 
                 if int(release) < 3:
-                    self.execute(f"INSERT INTO data VALUES ('last_study', '')")
                     self.execute(
-                        f"INSERT INTO data VALUES ('close_correctly', 'True')")
+                        f"INSERT OR IGNORE INTO data VALUES ('last_study', '')"
+                    )
+                    self.execute(
+                        f"INSERT OR IGNORE INTO data VALUES ('close_correctly', 'True')"
+                    )
 
                 if int(release) < 4:
                     self.execute(
-                        f"INSERT INTO data VALUES ('last_solver_name', '')"
+                        f"INSERT OR IGNORE INTO data VALUES ('last_solver_name', '')"
                     )
 
+            self.execute(
+                f"UPDATE info SET value='{self._version}' WHERE key='version'"
+            )
+
             self.commit()
 
     def _load_solver(self):
-- 
GitLab