Index: src/libchcore/TSQLiteTaskManagerSchema.cpp =================================================================== diff -u -N -ra4635addad389b9e117679437a3e1b64a739ea96 -re98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 --- src/libchcore/TSQLiteTaskManagerSchema.cpp (.../TSQLiteTaskManagerSchema.cpp) (revision a4635addad389b9e117679437a3e1b64a739ea96) +++ src/libchcore/TSQLiteTaskManagerSchema.cpp (.../TSQLiteTaskManagerSchema.cpp) (revision e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8) @@ -46,7 +46,7 @@ { TSQLiteStatement tStatement(spDatabase); - tStatement.Prepare(_T("CREATE TABLE tasks(id BIGINT UNIQUE PRIMARY KEY, task_order INT NOT NULL, path VARCHAR(32768) NOT NULL)")); + tStatement.Prepare(_T("CREATE TABLE tasks(id BIGINT UNIQUE PRIMARY KEY, task_order INT NOT NULL, path VARCHAR(32768) NOT NULL, logpath VARCHAR(32768) NOT NULL)")); tStatement.Step(); // and finally set the database version to current one @@ -63,6 +63,26 @@ tVersion.SetVersion(2); } + if(tVersion.GetVersion() == 2) + { + TSQLiteStatement tStatement(spDatabase); + + tStatement.Prepare(_T("ALTER TABLE tasks RENAME TO tasks_old")); + tStatement.Step(); + + tStatement.Prepare(_T("CREATE TABLE tasks(id BIGINT UNIQUE PRIMARY KEY, task_order INT NOT NULL, path VARCHAR(32768) NOT NULL, logpath VARCHAR(32768) NOT NULL)")); + tStatement.Step(); + + + tStatement.Prepare(_T("INSERT INTO tasks(id, task_order, path, logpath) SELECT id, task_order, path, replace(path, '.sqlite', '.log') FROM tasks_old")); + tStatement.Step(); + + tStatement.Prepare(_T("DROP TABLE tasks_old")); + tStatement.Step(); + + tVersion.SetVersion(3); + } + tTransaction.Commit(); } }