Index: src/libserializer/TSQLiteTaskSchema.cpp =================================================================== diff -u -N -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -r08717141ce5f6926116c298cbc9442094a45bb67 --- src/libserializer/TSQLiteTaskSchema.cpp (.../TSQLiteTaskSchema.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) +++ src/libserializer/TSQLiteTaskSchema.cpp (.../TSQLiteTaskSchema.cpp) (revision 08717141ce5f6926116c298cbc9442094a45bb67) @@ -62,6 +62,9 @@ if(tVersion.GetVersion() == 5) Migrate_005_006(spDatabase, tVersion); + + if(tVersion.GetVersion() == 6) + Migrate_006_007(spDatabase, tVersion); } tTransaction.Commit(); @@ -125,8 +128,15 @@ tStatement.Prepare(_T("CREATE TABLE feedback(id BIGINT UNIQUE, file_error INT NOT NULL, file_already_exists INT NOT NULL, not_enough_space INT NOT NULL, operation_finished INT NOT NULL, operation_error INT NOT NULL)")); tStatement.Step(); + tStatement.Prepare(_T("CREATE TABLE feedback_already_exists(id BIGINT UNIQUE, use_mask INT NOT NULL, mask varchar(32768) NOT NULL, ") + _T("use_exclude_mask INT NOT NULL, exclude_mask varchar(32768) NOT NULL, ") + _T("use_date_compare INT NOT NULL, date_compare_type INT NOT NULL, ") + _T("use_size_compare INT NOT NULL, size_compare_type INT NOT NULL, ") + _T("result INT NOT NULL)")); + tStatement.Step(); + // and finally set the database version to current one - tVersion.SetVersion(5); + tVersion.SetVersion(7); } void TSQLiteTaskSchema::Migrate_001_002(const sqlite::TSQLiteDatabasePtr& spDatabase, TSerializerVersion &tVersion) @@ -258,4 +268,23 @@ tVersion.SetVersion(6); } + + void TSQLiteTaskSchema::Migrate_006_007(const sqlite::TSQLiteDatabasePtr& spDatabase, TSerializerVersion& tVersion) + { + sqlite::TSQLiteStatement tStatement(spDatabase); + + // remove old feedback table (with no migration) +// tStatement.Prepare(_T("DROP TABLE feedback")); +// tStatement.Step(); + + // create new feedback tables + tStatement.Prepare(_T("CREATE TABLE feedback_already_exists(id BIGINT UNIQUE, use_mask INT NOT NULL, mask varchar(32768) NOT NULL, ") + _T("use_exclude_mask INT NOT NULL, exclude_mask varchar(32768) NOT NULL, ") + _T("use_date_compare INT NOT NULL, date_compare_type INT NOT NULL, ") + _T("use_size_compare INT NOT NULL, size_compare_type INT NOT NULL, ") + _T("result INT NOT NULL)")); + tStatement.Step(); + + tVersion.SetVersion(7); + } }