Parcourir la source

Merge pull request #280 from vineeth-vk11/#206

fixing on conflict issue in sqlite kv write
Eric Dubé il y a 1 an
Parent
commit
e4f2c4a28b

+ 4 - 1
packages/backend/src/services/database/sqlite_setup/0001_create-tables.sql

@@ -120,7 +120,10 @@ CREATE TABLE `kv` (
   `value` text,
 
   -- 0016
-    `migrated` tinyint(1) DEFAULT '0'
+    `migrated` tinyint(1) DEFAULT '0',
+  
+  -- 0019
+    UNIQUE (user_id, app, kkey_hash)
 );
 
 CREATE TABLE `subdomains` (

+ 1 - 2
packages/backend/src/services/drivers/implementations/DBKVStore.js

@@ -90,8 +90,7 @@ class DBKVStore extends BaseImplementation {
                     VALUES (?, ?, ?, ?, ?) ` +
                     db.case({
                         mysql: 'ON DUPLICATE KEY UPDATE value = ?',
-                        sqlite: ' ',
-                        // sqlite: 'ON CONFLICT(user_id, app, kkey_hash) DO UPDATE SET value = ?',
+                        sqlite: 'ON CONFLICT(user_id, app, kkey_hash) DO UPDATE SET value = excluded.value',
                     }),
                     [
                         user.id, app?.uid ?? 'global', key_hash, key, value,