Added schema upgrades for both DBs

This commit is contained in:
Ajay Ramachandran
2020-05-03 13:25:45 -04:00
parent d4328f4d54
commit 8638698d61
3 changed files with 21 additions and 11 deletions

View File

@@ -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";
}
}