From b5fcdea62f7bc7b15f059d633428cfc3272fd9f0 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Wed, 29 Apr 2020 19:40:17 -0400 Subject: [PATCH] Don't upgrade if read only --- databases/_upgrade_1.sql | 25 +++++++++++++++++++++++++ src/databases/databases.js | 14 ++++++++------ 2 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 databases/_upgrade_1.sql diff --git a/databases/_upgrade_1.sql b/databases/_upgrade_1.sql new file mode 100644 index 0000000..4f747bc --- /dev/null +++ b/databases/_upgrade_1.sql @@ -0,0 +1,25 @@ +BEGIN TRANSACTION; + +/* Add incorrectVotes field */ +CREATE TABLE "sqlb_temp_table_1" ( + "videoID" TEXT NOT NULL, + "startTime" REAL NOT NULL, + "endTime" REAL NOT NULL, + "votes" INTEGER NOT NULL, + "incorrectVotes" INTEGER NOT NULL default '1', + "UUID" TEXT NOT NULL UNIQUE, + "userID" TEXT NOT NULL, + "timeSubmitted" INTEGER NOT NULL, + "views" INTEGER NOT NULL, + "category" TEXT NOT NULL DEFAULT "sponsor", + "shadowHidden" INTEGER NOT NULL +); +INSERT INTO sqlb_temp_table_1 SELECT videoID,startTime,endTime,votes,"1",UUID,userID,timeSubmitted,views,category,shadowHidden FROM sponsorTimes; + +DROP TABLE sponsorTimes; +ALTER TABLE sqlb_temp_table_1 RENAME TO "sponsorTimes"; + +/* Increase version number */ +INSERT INTO version VALUES(1); + +COMMIT; \ No newline at end of file diff --git a/src/databases/databases.js b/src/databases/databases.js index ab3d8a3..73b0897 100644 --- a/src/databases/databases.js +++ b/src/databases/databases.js @@ -16,13 +16,15 @@ if (config.createDatabaseIfNotExist && !config.readOnly) { } // Upgrade database if required -let versionCode = db.prepare("SELECT code FROM version").get() || 0; -let path = config.schemaFolder + "/_upgrade_" + versionCode + ".sql"; -while (fs.existsSync(path)) { - db.exec(fs.readFileSync(path).toString()); +if (!config.readOnly) { + let versionCode = db.prepare("SELECT code FROM version").get() || 0; + let path = config.schemaFolder + "/_upgrade_" + versionCode + ".sql"; + while (fs.existsSync(path)) { + db.exec(fs.readFileSync(path).toString()); - versionCode = db.prepare("SELECT code FROM version").get(); - path = config.schemaFolder + "/_upgrade_" + versionCode + ".sql"; + versionCode = db.prepare("SELECT code FROM version").get(); + path = config.schemaFolder + "/_upgrade_" + versionCode + ".sql"; + } } // Enable WAL mode checkpoint number