From 3a5415c3352e61eb5abc1c6e5b7c67cb98f95757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Tue, 28 Mar 2017 18:39:59 +0200 Subject: [PATCH] Add new field to the comic info table in the DB and updated the migration process. --- YACReaderLibrary/db/data_base_management.cpp | 36 +++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/YACReaderLibrary/db/data_base_management.cpp b/YACReaderLibrary/db/data_base_management.cpp index fa5dfa0b..25edf1d3 100644 --- a/YACReaderLibrary/db/data_base_management.cpp +++ b/YACReaderLibrary/db/data_base_management.cpp @@ -179,7 +179,9 @@ bool DataBaseManagement::createTables(QSqlDatabase & database) "contrast INTEGER DEFAULT -1, " "gamma INTEGER DEFAULT -1, " //new 7.1 fields - "comicVineID TEXT" + "comicVineID TEXT," + //new 8.6 fields + "lastTimeOpened INTEGER" ")"); success = success && queryComicInfo.exec(); @@ -417,7 +419,9 @@ bool DataBaseManagement::importComicsInfo(QString source, QString dest) "edited = :edited," - "comicVineID = :comicVineID" + "comicVineID = :comicVineID," + + "lastTimeOpened = :lastTimeOpened" " WHERE hash = :hash "); @@ -451,6 +455,7 @@ bool DataBaseManagement::importComicsInfo(QString source, QString dest) "read," "edited," "comicVineID," + "lastTimeOpened," "hash)" "VALUES (:title," @@ -488,6 +493,8 @@ bool DataBaseManagement::importComicsInfo(QString source, QString dest) ":edited," ":comicVineID," + ":lastTimeOpened," + ":hash )"); QSqlRecord record = newInfo.record(); @@ -598,6 +605,8 @@ void DataBaseManagement::bindValuesFromRecord(const QSqlRecord & record, QSqlQue bindString("comicVineID",record,query); + bindString("lastTimeOpened",record,query); + bindString("hash",record,query); } @@ -766,12 +775,23 @@ bool DataBaseManagement::updateToCurrentVersion(const QString & fullPath) if(pre8_6) { - QStringList columnDefs; - //TODO - columnDefs << "numChildren INTEGER"; - columnDefs << "firstChildHash TEXT"; - columnDefs << "customImage TEXT"; - //returnValue = returnValue && addColumns("folder", columnDefs, db); + {//folder + QStringList columnDefs; + //a full library update is needed after updating the table + columnDefs << "numChildren INTEGER"; + columnDefs << "firstChildHash TEXT"; + columnDefs << "customImage TEXT"; + returnValue = returnValue && addColumns("folder", columnDefs, db); + } + + {//comic_info + QStringList columnDefs; + columnDefs << "lastTimeOpened INTEGER"; + returnValue = returnValue && addColumns("comic_info", columnDefs, db); + + QSqlQuery queryIndexLastTimeOpened(db); + returnValue = returnValue && queryIndexLastTimeOpened.exec("CREATE INDEX last_time_opened_index ON comic_info (lastTimeOpened)"); + } } }