Просмотр исходного кода

Add update queries for variant, intent & qualit DB handlers

CURA-6096
Jaime van Kessel 3 лет назад
Родитель
Сommit
132b863e13

+ 14 - 2
cura/Settings/DatabaseHandlers/IntentDatabaseHandler.py

@@ -6,7 +6,17 @@ class IntentDatabaseHandler(DatabaseMetadataContainerController):
     def __init__(self) -> None:
         super().__init__(
             insert_query="INSERT INTO intents (id, name, quality_type, intent_category, variant, definition, material, version, setting_version) VALUES (?, ?, ? ,?, ?, ?, ?, ?, ?)",
-            update_query="",
+            update_query="""UPDATE intents
+                            SET name = ?,
+                                quality_type = ?,
+                                intent_category = ?,
+                                variant = ?,
+                                definition = ?,
+                                material = ?,
+                                version = ?,
+                                setting_version = ?
+                            WHERE id = ?
+                        """,
             select_query = "SELECT * FROM intents where id = ?",
             table_query="""CREATE TABLE intents
                (
@@ -23,10 +33,12 @@ class IntentDatabaseHandler(DatabaseMetadataContainerController):
                CREATE UNIQUE INDEX idx_intents_id on intents (id);"""
         )
 
+    def _convertMetadataToUpdateBatch(self, metadata):
+        return self._convertMetadataToInsertBatch(metadata)[1:]
+
     def _convertRawDataToMetadata(self, data):
         return {"id": data[0], "name": data[1], "quality_type": data[2], "intent_category": data[3], "variant": data[4], "definition": data[5], "container_type": InstanceContainer, "material": data[6], "version": data[7], "setting_version": data[8], "type": "intent"}
 
-
     def _convertMetadataToInsertBatch(self, metadata):
         return metadata["id"], metadata["name"], metadata["quality_type"], metadata["intent_category"], metadata[
             "variant"], metadata["definition"], metadata["material"], metadata["version"], metadata["setting_version"]

+ 14 - 1
cura/Settings/DatabaseHandlers/QualityDatabaseHandler.py

@@ -6,7 +6,17 @@ class QualityDatabaseHandler(DatabaseMetadataContainerController):
     def __init__(self) -> None:
         super().__init__(
             insert_query = "INSERT INTO qualities (id, name, quality_type, material, variant, global_quality, definition, version, setting_version) VALUES (?, ?, ? ,?, ?, ?, ?, ?, ?)",
-            update_query = "",
+            update_query = """  UPDATE qualities
+                                SET name = ?,
+                                    quality_type = ?,
+                                    material = ?,
+                                    variant = ?,
+                                    global_quality = ?,
+                                    definition = ?,
+                                    version = ?,
+                                    setting_version = ?
+                                WHERE id = ?
+                            """,
             select_query = "SELECT * FROM qualities where id = ?",
             table_query = """CREATE TABLE qualities
                 (
@@ -23,6 +33,9 @@ class QualityDatabaseHandler(DatabaseMetadataContainerController):
                 CREATE UNIQUE INDEX idx_qualities_id on qualities (id);"""
         )
 
+    def _convertMetadataToUpdateBatch(self, metadata):
+        return self._convertMetadataToInsertBatch(metadata)[1:]
+
     def _convertRawDataToMetadata(self, data):
         return {"id": data[0], "name": data[1], "quality_type": data[2], "material": data[3], "variant": data[4],
                 "global_quality": data[5], "definition": data[6], "container_type": InstanceContainer,

+ 11 - 2
cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py

@@ -6,7 +6,14 @@ class VariantDatabaseHandler(DatabaseMetadataContainerController):
     def __init__(self) -> None:
         super().__init__(
             insert_query= "INSERT INTO variants (id, name, hardware_type, definition, version, setting_version) VALUES (?, ?, ?, ?, ?, ?)",
-            update_query= "",
+            update_query="""UPDATE variants
+                            SET name = ?,
+                                hardware_type = ?,
+                                definition = ?,
+                                version = ?,
+                                setting_version = ?
+                            WHERE id = ?
+                        """,
             select_query= "SELECT * FROM variants where id = ?",
             table_query="""CREATE TABLE variants
                 (
@@ -20,10 +27,12 @@ class VariantDatabaseHandler(DatabaseMetadataContainerController):
                 CREATE UNIQUE INDEX idx_variants_id on variants (id);"""
         )
 
+    def _convertMetadataToUpdateBatch(self, metadata):
+        return self._convertMetadataToInsertBatch(metadata)[1:]
+
     def _convertRawDataToMetadata(self, data):
         return {"id": data[0], "name": data[1], "hardware_type": data[2], "definition": data[3], "container_type": InstanceContainer, "version": data[4], "setting_version": data[5], "type": "variant"}
 
-
     def _convertMetadataToInsertBatch(self, metadata):
         return metadata["id"], metadata["name"], metadata["hardware_type"], metadata["definition"], metadata["version"], \
                metadata["setting_version"]