about summary refs log tree commit diff
path: root/gn_libs
diff options
context:
space:
mode:
Diffstat (limited to 'gn_libs')
-rw-r--r--gn_libs/jobs/jobs.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/gn_libs/jobs/jobs.py b/gn_libs/jobs/jobs.py
index 4519e4f..38cd9c0 100644
--- a/gn_libs/jobs/jobs.py
+++ b/gn_libs/jobs/jobs.py
@@ -132,7 +132,10 @@ def update_metadata(conn: DbConnection, job_id: Union[str, uuid.UUID], key: str,
     """Update the value of a metadata item."""
     with _cursor(conn) as cursor:
         cursor.execute(
-            "UPDATE jobs_metadata SET metadata_value=:value "
+            "INSERT INTO jobs_metadata(job_id, metadata_key, metadata_value) "
+            "VALUES (:job_id, :key, :value) "
+            "ON CONFLICT (job_id, metadata_key) DO UPDATE "
+            "SET metadata_value=:value "
             "WHERE job_id=:job_id AND metadata_key=:key",
             {
                 "job_id": str(job_id),