diff --git a/cura/Settings/DatabaseHandlers/IntentDatabaseHandler.py b/cura/Settings/DatabaseHandlers/IntentDatabaseHandler.py index 79a28e7fb8..ffe0191088 100644 --- a/cura/Settings/DatabaseHandlers/IntentDatabaseHandler.py +++ b/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"] diff --git a/cura/Settings/DatabaseHandlers/QualityDatabaseHandler.py b/cura/Settings/DatabaseHandlers/QualityDatabaseHandler.py index fcc21fe5b9..258c63709b 100644 --- a/cura/Settings/DatabaseHandlers/QualityDatabaseHandler.py +++ b/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, diff --git a/cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py b/cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py index 37bf40d25c..0670f132e9 100644 --- a/cura/Settings/DatabaseHandlers/VariantDatabaseHandler.py +++ b/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"]