mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-12 22:47:12 +03:00
Added schema upgrades for both DBs
This commit is contained in:
@@ -26,16 +26,8 @@ if (config.createDatabaseIfNotExist && !config.readOnly) {
|
||||
|
||||
// Upgrade database if required
|
||||
if (!config.readOnly) {
|
||||
let versionCodeInfo = db.prepare("SELECT value FROM config WHERE key = ?").get("version");
|
||||
let versionCode = versionCodeInfo ? versionCodeInfo.value : 0;
|
||||
|
||||
let path = config.schemaFolder + "/_upgrade_" + (versionCode + 1) + ".sql";
|
||||
while (fs.existsSync(path)) {
|
||||
db.exec(fs.readFileSync(path).toString());
|
||||
|
||||
versionCode = db.prepare("SELECT value FROM config WHERE key = ?").get("version").value;
|
||||
path = config.schemaFolder + "/_upgrade_" + (versionCode + 1) + ".sql";
|
||||
}
|
||||
ugradeDB(db, "sponsorTimes");
|
||||
ugradeDB(privateDB, "private")
|
||||
}
|
||||
|
||||
// Enable WAL mode checkpoint number
|
||||
@@ -51,4 +43,17 @@ privateDB.exec("pragma mmap_size= 500000000;");
|
||||
module.exports = {
|
||||
db: db,
|
||||
privateDB: privateDB
|
||||
};
|
||||
};
|
||||
|
||||
function ugradeDB(db, prefix) {
|
||||
let versionCodeInfo = db.prepare("SELECT value FROM config WHERE key = ?").get("version");
|
||||
let versionCode = versionCodeInfo ? versionCodeInfo.value : 0;
|
||||
|
||||
let path = config.schemaFolder + "/_upgrade_" + prefix + "_" + (versionCode + 1) + ".sql";
|
||||
while (fs.existsSync(path)) {
|
||||
db.exec(fs.readFileSync(path).toString());
|
||||
|
||||
versionCode = db.prepare("SELECT value FROM config WHERE key = ?").get("version").value;
|
||||
path = config.schemaFolder + "/_upgrade_" + prefix + "_" + (versionCode + 1) + ".sql";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user