diff --git a/db/migrations/0158__add_isSynced_to_sync.sql b/db/migrations/0158__add_isSynced_to_sync.sql new file mode 100644 index 000000000..a2d978bc1 --- /dev/null +++ b/db/migrations/0158__add_isSynced_to_sync.sql @@ -0,0 +1,22 @@ +CREATE TABLE IF NOT EXISTS "sync_mig" ( + `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `entityName` TEXT NOT NULL, + `entityId` TEXT NOT NULL, + `sourceId` TEXT NOT NULL, + `isSynced` INTEGER default 0 not null, + `utcSyncDate` TEXT NOT NULL); + +INSERT INTO sync_mig (entityName, entityId, sourceId, isSynced, utcSyncDate) +SELECT entityName, entityId, sourceId, 1, utcSyncDate FROM sync; + +DROP TABLE sync; + +ALTER TABLE sync_mig RENAME TO sync; + +CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` ( + `entityName`, + `entityId` + ); +CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` ( + `utcSyncDate` + ); \ No newline at end of file diff --git a/package.json b/package.json index 6ff744583..17d30ee8b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "trilium", "productName": "Trilium Notes", "description": "Trilium Notes", - "version": "0.40.4", + "version": "0.40.5", "license": "AGPL-3.0-only", "main": "electron.js", "bin": { diff --git a/src/routes/api/app_info.js b/src/routes/api/app_info.js index b574d14a1..12f5a46c7 100644 --- a/src/routes/api/app_info.js +++ b/src/routes/api/app_info.js @@ -1,9 +1,9 @@ "use strict"; -const app_info = require('../../services/app_info'); +const appInfo = require('../../services/app_info'); async function getAppInfo() { - return app_info; + return appInfo; } module.exports = { diff --git a/src/services/app_info.js b/src/services/app_info.js index 0c30da676..0df3b0b74 100644 --- a/src/services/app_info.js +++ b/src/services/app_info.js @@ -4,7 +4,7 @@ const build = require('./build'); const packageJson = require('../../package'); const {TRILIUM_DATA_DIR} = require('./data_dir'); -const APP_DB_VERSION = 157; +const APP_DB_VERSION = 158; const SYNC_VERSION = 14; const CLIPPER_PROTOCOL_VERSION = "1.0"; diff --git a/src/services/build.js b/src/services/build.js index 96eeb5fd3..7ed5b250e 100644 --- a/src/services/build.js +++ b/src/services/build.js @@ -1 +1 @@ -module.exports = { buildDate:"2020-02-24T22:59:22+01:00", buildRevision: "fb55cdaea6b1367129e11118b8b6fd2eadebad5f" }; +module.exports = { buildDate:"2020-03-08T21:05:52+01:00", buildRevision: "e4039ea5e1c6ac87e0947bc77b6bdcbb29a23092" }; diff --git a/src/services/consistency_checks.js b/src/services/consistency_checks.js index c36aa90e6..705ab02e6 100644 --- a/src/services/consistency_checks.js +++ b/src/services/consistency_checks.js @@ -546,7 +546,7 @@ class ConsistencyChecks { ${entityName} LEFT JOIN sync ON sync.entityName = '${entityName}' AND entityId = ${key} WHERE - sync.id IS NULL AND ` + (entityName === 'options' ? 'isSynced = 1' : '1'), + sync.id IS NULL AND ` + (entityName === 'options' ? 'options.isSynced = 1' : '1'), async ({entityId}) => { if (this.autoFix) { await syncTableService.addEntitySync(entityName, entityId); diff --git a/src/services/sync_table.js b/src/services/sync_table.js index ac1076f07..dcae6e64d 100644 --- a/src/services/sync_table.js +++ b/src/services/sync_table.js @@ -9,7 +9,8 @@ async function insertEntitySync(entityName, entityId, sourceId) { entityName: entityName, entityId: entityId, utcSyncDate: dateUtils.utcNowDateTime(), - sourceId: sourceId || cls.getSourceId() || sourceIdService.getCurrentSourceId() + sourceId: sourceId || cls.getSourceId() || sourceIdService.getCurrentSourceId(), + isSynced: 1 }; sync.id = await sql.replace("sync", sync);