From 5d8d25f370241017c1464aad15fe3379a9b2bd07 Mon Sep 17 00:00:00 2001 From: vineethvk11 Date: Sun, 14 Apr 2024 16:39:29 +0530 Subject: [PATCH] fixing on conflict issue in sqlite kv write --- .../services/database/sqlite_setup/0001_create-tables.sql | 5 ++++- .../src/services/drivers/implementations/DBKVStore.js | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/services/database/sqlite_setup/0001_create-tables.sql b/packages/backend/src/services/database/sqlite_setup/0001_create-tables.sql index cf06a9848..bb447c1b5 100644 --- a/packages/backend/src/services/database/sqlite_setup/0001_create-tables.sql +++ b/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` ( diff --git a/packages/backend/src/services/drivers/implementations/DBKVStore.js b/packages/backend/src/services/drivers/implementations/DBKVStore.js index a679b503b..8f6badfd6 100644 --- a/packages/backend/src/services/drivers/implementations/DBKVStore.js +++ b/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,