fixed migrations

This commit is contained in:
zadam 2022-12-08 13:45:56 +01:00
parent 653f80f7d8
commit 73eb585398
11 changed files with 94 additions and 98 deletions

View File

@ -1,10 +0,0 @@
module.exports = () => {
const specialNotesService = require('../../src/services/special_notes');
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
cls.init(() => {
beccaLoader.load();
specialNotesService.getHiddenRoot();
});
};

View File

@ -1,3 +1,3 @@
UPDATE branches SET branchId = 'search' WHERE parentNoteId = 'hidden' AND noteId = 'search';
UPDATE branches SET branchId = 'globalnotemap' WHERE parentNoteId = 'hidden' AND noteId = 'globalnotemap';
UPDATE branches SET branchId = 'globalnotemap' WHERE parentNoteId = 'singles' AND noteId = 'globalnotemap';
UPDATE branches SET branchId = 'sqlconsole' WHERE parentNoteId = 'hidden' AND noteId = 'sqlconsole';

View File

@ -2,6 +2,14 @@ UPDATE notes SET noteId = 'globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE notes SET noteId = 'bulkAction' WHERE noteId = 'bulkaction';
UPDATE notes SET noteId = 'sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE note_contents SET noteId = 'globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE note_contents SET noteId = 'bulkAction' WHERE noteId = 'bulkaction';
UPDATE note_contents SET noteId = 'sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE note_revisions SET noteId = 'globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE note_revisions SET noteId = 'bulkAction' WHERE noteId = 'bulkaction';
UPDATE note_revisions SET noteId = 'sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE branches SET branchId = 'globalNoteMap' WHERE branchId = 'globalnotemap';
UPDATE branches SET branchId = 'bulkAction' WHERE branchId = 'bulkaction';
UPDATE branches SET branchId = 'sqlConsole' WHERE branchId = 'sqlconsole';

View File

@ -0,0 +1,11 @@
module.exports = () => {
const hiddenSubtreeService = require('../../src/services/hidden_subtree.js');
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
cls.init(() => {
beccaLoader.load();
// create it because it subsequent migrations we will move some existing notes into it (share...)
hiddenSubtreeService.checkHiddenSubtree();
});
};

View File

@ -1 +1 @@
UPDATE branches SET parentNoteId = 'hidden' WHERE noteId = 'globalnotemap';
UPDATE branches SET parentNoteId = 'hidden' WHERE noteId = 'globalNoteMap';

View File

@ -1 +0,0 @@
UPDATE notes SET type = 'doc' WHERE noteId IN ('share, hidden', 'sqlconsole', 'search');

142
package-lock.json generated
View File

@ -10,11 +10,11 @@
"hasInstallScript": true,
"license": "AGPL-3.0-only",
"dependencies": {
"@electron/remote": "2.0.8",
"@excalidraw/excalidraw": "0.12.0",
"@electron/remote": "2.0.9",
"@excalidraw/excalidraw": "0.13.0",
"archiver": "5.3.1",
"async-mutex": "0.4.0",
"axios": "1.2.0",
"axios": "1.2.1",
"better-sqlite3": "7.4.5",
"chokidar": "3.5.3",
"cls-hooked": "4.2.2",
@ -22,7 +22,7 @@
"compression": "1.7.4",
"cookie-parser": "1.4.6",
"csurf": "1.11.0",
"dayjs": "1.11.6",
"dayjs": "1.11.7",
"dayjs-plugin-utc": "^0.1.2",
"debounce": "^1.2.1",
"ejs": "3.1.8",
@ -86,7 +86,7 @@
"lorem-ipsum": "2.0.8",
"rcedit": "3.0.1",
"webpack": "5.75.0",
"webpack-cli": "5.0.0"
"webpack-cli": "5.0.1"
},
"optionalDependencies": {
"electron-installer-debian": "3.1.0"
@ -310,9 +310,9 @@
}
},
"node_modules/@electron/remote": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
"integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.9.tgz",
"integrity": "sha512-LR0W0ID6WAKHaSs0x5LX9aiG+5pFBNAJL6eQAJfGkCuZPUa6nZz+czZLdlTDETG45CgF/0raSvCtYOYUpr6c+A==",
"peerDependencies": {
"electron": ">= 13.0.0"
}
@ -372,15 +372,12 @@
}
},
"node_modules/@excalidraw/excalidraw": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.12.0.tgz",
"integrity": "sha512-xMPmKmOEgKij43k5m6Koaevb+SBw6La7MT9UDY8Iq7nQCMhA1HQwcUURfSkZ3ERibdQmMsAGtjSLbkX7hrA3+A==",
"dependencies": {
"dotenv": "10.0.0"
},
"version": "0.13.0",
"resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.13.0.tgz",
"integrity": "sha512-TTi1hiUczfIj/kLQshh1EHUrXziEa5cwLF74TrlFQWwW9jhJIF73HplmqEMrfwwqt7CrypXRZtMzH1hhmZ3vbg==",
"peerDependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
"react": "^17.0.2 || ^18.2.0",
"react-dom": "^17.0.2 || ^18.2.0"
}
},
"node_modules/@gar/promisify": {
@ -1279,9 +1276,9 @@
}
},
"node_modules/@webpack-cli/configtest": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.0.tgz",
"integrity": "sha512-war4OU8NGjBqU3DP3bx6ciODXIh7dSXcpQq+P4K2Tqyd8L5OjZ7COx9QXx/QdCIwL2qoX09Wr4Cwf7uS4qdEng==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz",
"integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==",
"dev": true,
"engines": {
"node": ">=14.15.0"
@ -1292,9 +1289,9 @@
}
},
"node_modules/@webpack-cli/info": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.0.tgz",
"integrity": "sha512-NNxDgbo4VOkNhOlTgY0Elhz3vKpOJq4/PKeKg7r8cmYM+GQA9vDofLYyup8jS6EpUvhNmR30cHTCEIyvXpskwA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz",
"integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==",
"dev": true,
"engines": {
"node": ">=14.15.0"
@ -1305,9 +1302,9 @@
}
},
"node_modules/@webpack-cli/serve": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.0.tgz",
"integrity": "sha512-Rumq5mHvGXamnOh3O8yLk1sjx8dB30qF1OeR6VC00DIR6SLJ4bwwUGKC4pE7qBFoQyyh0H9sAg3fikYgAqVR0w==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz",
"integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==",
"dev": true,
"engines": {
"node": ">=14.15.0"
@ -1880,9 +1877,9 @@
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
},
"node_modules/axios": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.0.tgz",
"integrity": "sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz",
"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==",
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
@ -3162,9 +3159,9 @@
}
},
"node_modules/dayjs": {
"version": "1.11.6",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz",
"integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ=="
"version": "1.11.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
},
"node_modules/dayjs-plugin-utc": {
"version": "0.1.2",
@ -3521,14 +3518,6 @@
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
"node_modules/dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"engines": {
"node": ">=10"
}
},
"node_modules/dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
@ -10102,15 +10091,15 @@
}
},
"node_modules/webpack-cli": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.0.tgz",
"integrity": "sha512-AACDTo20yG+xn6HPW5xjbn2Be4KUzQPebWXsDMHwPPyKh9OnTOJgZN2Nc+g/FZKV3ObRTYsGvibAvc+5jAUrVA==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz",
"integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^2.0.0",
"@webpack-cli/info": "^2.0.0",
"@webpack-cli/serve": "^2.0.0",
"@webpack-cli/configtest": "^2.0.1",
"@webpack-cli/info": "^2.0.1",
"@webpack-cli/serve": "^2.0.1",
"colorette": "^2.0.14",
"commander": "^9.4.1",
"cross-spawn": "^7.0.3",
@ -10640,9 +10629,9 @@
}
},
"@electron/remote": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
"integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.9.tgz",
"integrity": "sha512-LR0W0ID6WAKHaSs0x5LX9aiG+5pFBNAJL6eQAJfGkCuZPUa6nZz+czZLdlTDETG45CgF/0raSvCtYOYUpr6c+A==",
"requires": {}
},
"@electron/universal": {
@ -10691,12 +10680,10 @@
}
},
"@excalidraw/excalidraw": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.12.0.tgz",
"integrity": "sha512-xMPmKmOEgKij43k5m6Koaevb+SBw6La7MT9UDY8Iq7nQCMhA1HQwcUURfSkZ3ERibdQmMsAGtjSLbkX7hrA3+A==",
"requires": {
"dotenv": "10.0.0"
}
"version": "0.13.0",
"resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.13.0.tgz",
"integrity": "sha512-TTi1hiUczfIj/kLQshh1EHUrXziEa5cwLF74TrlFQWwW9jhJIF73HplmqEMrfwwqt7CrypXRZtMzH1hhmZ3vbg==",
"requires": {}
},
"@gar/promisify": {
"version": "1.1.3",
@ -11457,23 +11444,23 @@
}
},
"@webpack-cli/configtest": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.0.tgz",
"integrity": "sha512-war4OU8NGjBqU3DP3bx6ciODXIh7dSXcpQq+P4K2Tqyd8L5OjZ7COx9QXx/QdCIwL2qoX09Wr4Cwf7uS4qdEng==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz",
"integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==",
"dev": true,
"requires": {}
},
"@webpack-cli/info": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.0.tgz",
"integrity": "sha512-NNxDgbo4VOkNhOlTgY0Elhz3vKpOJq4/PKeKg7r8cmYM+GQA9vDofLYyup8jS6EpUvhNmR30cHTCEIyvXpskwA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz",
"integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==",
"dev": true,
"requires": {}
},
"@webpack-cli/serve": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.0.tgz",
"integrity": "sha512-Rumq5mHvGXamnOh3O8yLk1sjx8dB30qF1OeR6VC00DIR6SLJ4bwwUGKC4pE7qBFoQyyh0H9sAg3fikYgAqVR0w==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz",
"integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==",
"dev": true,
"requires": {}
},
@ -11928,9 +11915,9 @@
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
},
"axios": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.0.tgz",
"integrity": "sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz",
"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==",
"requires": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
@ -12931,9 +12918,9 @@
}
},
"dayjs": {
"version": "1.11.6",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz",
"integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ=="
"version": "1.11.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
},
"dayjs-plugin-utc": {
"version": "0.1.2",
@ -13202,11 +13189,6 @@
"domhandler": "^4.2.0"
}
},
"dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
},
"dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
@ -18270,15 +18252,15 @@
}
},
"webpack-cli": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.0.tgz",
"integrity": "sha512-AACDTo20yG+xn6HPW5xjbn2Be4KUzQPebWXsDMHwPPyKh9OnTOJgZN2Nc+g/FZKV3ObRTYsGvibAvc+5jAUrVA==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz",
"integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==",
"dev": true,
"requires": {
"@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^2.0.0",
"@webpack-cli/info": "^2.0.0",
"@webpack-cli/serve": "^2.0.0",
"@webpack-cli/configtest": "^2.0.1",
"@webpack-cli/info": "^2.0.1",
"@webpack-cli/serve": "^2.0.1",
"colorette": "^2.0.14",
"commander": "^9.4.1",
"cross-spawn": "^7.0.3",

View File

@ -27,11 +27,11 @@
"postinstall": "rimraf ./node_modules/canvas"
},
"dependencies": {
"@electron/remote": "2.0.8",
"@excalidraw/excalidraw": "0.12.0",
"@electron/remote": "2.0.9",
"@excalidraw/excalidraw": "0.13.0",
"archiver": "5.3.1",
"async-mutex": "0.4.0",
"axios": "1.2.0",
"axios": "1.2.1",
"better-sqlite3": "7.4.5",
"chokidar": "3.5.3",
"cls-hooked": "4.2.2",
@ -39,7 +39,7 @@
"compression": "1.7.4",
"cookie-parser": "1.4.6",
"csurf": "1.11.0",
"dayjs": "1.11.6",
"dayjs": "1.11.7",
"dayjs-plugin-utc": "^0.1.2",
"debounce": "^1.2.1",
"ejs": "3.1.8",
@ -100,7 +100,7 @@
"lorem-ipsum": "2.0.8",
"rcedit": "3.0.1",
"webpack": "5.75.0",
"webpack-cli": "5.0.0"
"webpack-cli": "5.0.1"
},
"optionalDependencies": {
"electron-installer-debian": "3.1.0"

View File

@ -252,6 +252,12 @@ function checkHiddenSubtreeRecursively(parentNoteId, item) {
}
}
if (note.type !== item.type) {
// enforce correct note type
note.type = item.type;
note.save();
}
if (!branch) {
// not sure if there's some better way to recover
log.error(`Cannot find branch id='${item.id}', ignoring...`);