store room map in database
[toast/confclerk.git] / src / sql / sqlengine.cpp
index 28344b9..c87ce2b 100644 (file)
@@ -62,6 +62,8 @@ QString SqlEngine::login(const QString &aDatabaseType, const QString &aDatabaseN
         database.open();
     }
 
         database.open();
     }
 
+    checkConferenceMap(database);
+
     //LOG_INFO(QString("Opening '%1' database '%2'").arg(aDatabaseType).arg(aDatabaseName));
 
     return result ? QString() : database.lastError().text();
     //LOG_INFO(QString("Opening '%1' database '%2'").arg(aDatabaseType).arg(aDatabaseName));
 
     return result ? QString() : database.lastError().text();
@@ -377,3 +379,13 @@ bool SqlEngine::execQueryWithParameter(QSqlDatabase &aDatabase, const QString &a
     }
 }
 
     }
 }
 
+void SqlEngine::checkConferenceMap(QSqlDatabase &aDatabase)
+{
+    QSqlQuery sqlQuery(aDatabase);
+    sqlQuery.prepare("SELECT map FROM conference");
+    if (!sqlQuery.exec()) {
+        qWarning() << "column conference.map is missing; adding";
+        execQuery(aDatabase, "ALTER TABLE conference ADD COLUMN map VARCHAR")
+         and execQuery(aDatabase, "UPDATE conference SET map = ':/maps/campus.png' WHERE title = 'FOSDEM 2010'");
+    }
+}