bool SqlEngine::updateDbSchemaVersion000To001() {
- emit dbError("Upgrade 0 -> 1 not implemented yet");
- return false;
+ return applySqlFile(":/dbschema000to001.sql");
}
bool SqlEngine::createCurrentDbSchema() {
- QFile file(":/dbschema001.sql");
- file.open(QIODevice::ReadOnly | QIODevice::Text);
- QString allSqlStatements = file.readAll();
- QSqlQuery query(db);
- foreach(QString sql, allSqlStatements.split(";")) {
- if (sql.trimmed().isEmpty()) // do not execute empty queries like the last character from create_tables.sql
- continue;
- if (!query.exec(sql)) {
- emitSqlQueryError(query);
- return false;
- }
- }
- return true;
+ return applySqlFile(":/dbschema001.sql");
}
}
+bool SqlEngine::applySqlFile(const QString sqlFile) {
+ QFile file(sqlFile);
+ file.open(QIODevice::ReadOnly | QIODevice::Text);
+ QString allSqlStatements = file.readAll();
+ QSqlQuery query(db);
+ foreach(QString sql, allSqlStatements.split(";")) {
+ if (sql.trimmed().isEmpty()) // do not execute empty queries like the last character from create_tables.sql
+ continue;
+ if (!query.exec(sql)) {
+ emitSqlQueryError(query);
+ return false;
+ }
+ }
+ return true;
+}
+
+
void SqlEngine::addConferenceToDB(QHash<QString,QString> &aConference, int conferenceId) {
QSqlQuery query(db);
if (conferenceId <= 0) // insert conference
/// creates the current database schema if an empty database is found,
/// otherwise updates the schema if an old one is found. true for success.
bool createOrUpdateDbSchema();
+ /// Applies an SQL file
+ bool applySqlFile(const QString sqlFile);
// if a conferneceId != 0 is given, the confernce is updated instead of inserted.
void addConferenceToDB(QHash<QString,QString> &aConference, int conferenceId);