75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
import {DB} from './../storage'
|
|
|
|
export class Mig_0_1{
|
|
constructor(){
|
|
var res = DB.cdb.exec("SELECT * FROM settings WHERE ke='version'");
|
|
if(res.length == 0){
|
|
console.log("UPDATE STORAGE")
|
|
this.mig_tasks();
|
|
}
|
|
}
|
|
mig_tasks(){
|
|
// TODO: MIGRATION TOOL FOR SAVE VERSION 1
|
|
DB.cdb.exec("CREATE TABLE IF NOT EXISTS days_have_tasks(day_id INTEGER ,task_id INTEGER);");
|
|
|
|
|
|
var res = DB.cdb.exec("SELECT * FROM days")[0].values;
|
|
console.log(res)
|
|
if(res.length>0){
|
|
for(var i = 0;i<res.length;i++){
|
|
// 5 = taskList
|
|
//console.log(res[i][5])
|
|
var tasks_for_day = res[i][5].split(',');
|
|
// 0 = Tag ID
|
|
var day_id = res[i][0];
|
|
for(var j = 0;j<tasks_for_day.length;j++){
|
|
console.log(tasks_for_day[j])
|
|
var sql2 = "INSERT INTO days_have_tasks VALUES ( "+day_id+","+tasks_for_day[j]+");";
|
|
//console.log(sql2)
|
|
DB.cdb.exec(sql2);
|
|
}
|
|
}
|
|
}
|
|
this.deleteOldTaskColumn();
|
|
}
|
|
deleteOldTaskColumn(){
|
|
//var sql = `ALTER TABLE "days" DROP COLUMN "taskList";`
|
|
var sql = `
|
|
PRAGMA foreign_keys=off;
|
|
BEGIN TRANSACTION;
|
|
CREATE TABLE IF NOT EXISTS new_days(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
date DATETIME ,
|
|
startTime DATETIME ,
|
|
breakTime INTEGER ,
|
|
endTime DATETIME
|
|
);
|
|
INSERT INTO new_days(id,date,startTime,breakTime,endTime)
|
|
SELECT id,date,startTime,breakTime,endTime
|
|
FROM days;
|
|
DROP TABLE days;
|
|
ALTER TABLE new_days RENAME TO days;
|
|
COMMIT;
|
|
PRAGMA foreign_keys=on;
|
|
`
|
|
|
|
DB.cdb.exec(sql);
|
|
this.addNotesTable();
|
|
}
|
|
addNotesTable(){
|
|
var sql = `CREATE TABLE notes (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
date DATETIME ,
|
|
title TEXT,
|
|
text TEXT,
|
|
priority TEXT
|
|
);`
|
|
DB.cdb.exec(sql);
|
|
this.updateVersion();
|
|
}
|
|
updateVersion(){
|
|
|
|
var sql = `INSERT INTO settings (ke,val) VALUES ("version","2")`
|
|
DB.cdb.exec(sql);
|
|
}
|
|
} |