Update added with the modified date in comics added before the new metadata refactoring

This commit is contained in:
Luis Ángel San Martín 2023-06-06 21:45:20 +02:00
parent 8520a29a05
commit 21e237ccf9
3 changed files with 18 additions and 0 deletions

View File

@ -753,6 +753,18 @@ void DBHelper::updateRead(ComicInfo *comicInfo, QSqlDatabase &db)
updateComicInfo.exec(); updateComicInfo.exec();
} }
void DBHelper::updateAdded(ComicInfo *comicInfo, QSqlDatabase &db)
{
QSqlQuery updateComicInfo(db);
updateComicInfo.prepare("UPDATE comic_info SET "
"added = :added"
" WHERE id = :id ");
updateComicInfo.bindValue(":added", comicInfo->added);
updateComicInfo.bindValue(":id", comicInfo->id);
updateComicInfo.exec();
}
void DBHelper::update(const Folder &folder, QSqlDatabase &db) void DBHelper::update(const Folder &folder, QSqlDatabase &db)
{ {
QSqlQuery updateFolderInfo(db); QSqlQuery updateFolderInfo(db);

View File

@ -65,6 +65,7 @@ public:
static void update(ComicDB *comics, QSqlDatabase &db); static void update(ComicDB *comics, QSqlDatabase &db);
static void update(ComicInfo *comicInfo, QSqlDatabase &db); static void update(ComicInfo *comicInfo, QSqlDatabase &db);
static void updateRead(ComicInfo *comicInfo, QSqlDatabase &db); static void updateRead(ComicInfo *comicInfo, QSqlDatabase &db);
static void updateAdded(ComicInfo *comicInfo, QSqlDatabase &db);
static void update(const Folder &folder, QSqlDatabase &db); // only for finished/completed fields static void update(const Folder &folder, QSqlDatabase &db); // only for finished/completed fields
static void propagateFolderUpdatesToParent(const Folder &folder, QSqlDatabase &db); static void propagateFolderUpdatesToParent(const Folder &folder, QSqlDatabase &db);
static Folder updateChildrenInfo(qulonglong folderId, QSqlDatabase &db); static Folder updateChildrenInfo(qulonglong folderId, QSqlDatabase &db);

View File

@ -594,6 +594,11 @@ void LibraryCreator::update(QDir dirS)
QString path = QDir::cleanPath(fileInfoS.absoluteFilePath()).remove(_source); QString path = QDir::cleanPath(fileInfoS.absoluteFilePath()).remove(_source);
#endif #endif
replaceComic(path, fileInfoS, comicDB); replaceComic(path, fileInfoS, comicDB);
} else if (added == 0) { // this file was added before `added` existed on the db, `added` will be updated to match the modified date so future modifications can be detected.
if (lastModified > 0) {
comicDB->info.added = lastModified;
DBHelper::updateAdded(&(comicDB->info), _database);
}
} }
} }
i++; i++;