diff --git a/src/database/ScanSettings.cpp b/src/database/ScanSettings.cpp index 18dffed0..ea9f55b8 100644 --- a/src/database/ScanSettings.cpp +++ b/src/database/ScanSettings.cpp @@ -130,5 +130,11 @@ ScanSettings::setClusterTypes(Session& session, const std::set& clu _scanVersion += 1; } +void +ScanSettings::incScanVersion() +{ + _scanVersion += 1; +} + } // namespace Database diff --git a/src/database/ScanSettings.hpp b/src/database/ScanSettings.hpp index baf6388c..bd908654 100644 --- a/src/database/ScanSettings.hpp +++ b/src/database/ScanSettings.hpp @@ -58,7 +58,7 @@ class ScanSettings : public Wt::Dbo::Dbo void setUpdateStartTime(Wt::WTime t) { _startTime = t; } void setUpdatePeriod(UpdatePeriod p) { _updatePeriod = p; } void setClusterTypes(Session& session, const std::set& clusterTypeNames); - void setAudioFileExtensions(std::set fileExtensions); + void incScanVersion(); template void persist(Action& a) diff --git a/src/database/Session.cpp b/src/database/Session.cpp index 65993b52..27246142 100644 --- a/src/database/Session.cpp +++ b/src/database/Session.cpp @@ -35,7 +35,7 @@ namespace Database { -#define LMS_DATABASE_VERSION 6 +#define LMS_DATABASE_VERSION 7 using Version = std::size_t; @@ -102,6 +102,12 @@ Session::doDatabaseMigrationIfNeeded() LMS_LOG(DB, INFO) << "Migrating database from version 5..."; _session.execute("DELETE FROM auth_token"); // format has changed break; + case 6: + LMS_LOG(DB, INFO) << "Migrating database from version 6..."; + // Just increment the scan version of the settings to make the next scheduled scan rescan everything + ScanSettings::get(*this).modify()->incScanVersion(); + break; + default: LMS_LOG(DB, ERROR) << "Database version " << version << " cannot be handled using migration"; throw LmsException { LMS_DATABASE_VERSION > version ? outdatedMsg : "Server binary outdated, please upgrade it to handle this database"};