| 41 | } |
| 42 | |
| 43 | void Storage::checkDatabase() |
| 44 | { |
| 45 | auto queryProjects = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME)); |
| 46 | queryProjects.prepare("CREATE TABLE IF NOT EXISTS Projects ( " |
| 47 | "project TEXT UNIQUE PRIMARY KEY, " |
| 48 | "data TEXT );" |
| 49 | ); |
| 50 | if ( !queryProjects.exec() ) |
| 51 | LogError("Table PROJECTS not created: %s\n", queryProjects.lastError().text().toStdString().c_str()); |
| 52 | |
| 53 | |
| 54 | |
| 55 | auto queryExtensions = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME)); |
| 56 | queryExtensions.prepare("CREATE TABLE IF NOT EXISTS Extensions ( " |
| 57 | "filepath TEXT UNIQUE PRIMARY KEY, " |
| 58 | "enabled BOOLEAN );" |
| 59 | ); |
| 60 | if ( !queryExtensions.exec() ) |
| 61 | LogError("Table EXTENSIONS not created: %s\n", queryExtensions.lastError().text().toStdString().c_str()); |
| 62 | |
| 63 | |
| 64 | |
| 65 | auto querySettings = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME)); |
| 66 | querySettings.prepare("CREATE TABLE IF NOT EXISTS Settings ( " |
| 67 | "key TEXT UNIQUE PRIMARY KEY, " |
| 68 | "data TEXT );" |
| 69 | ); |
| 70 | if ( !querySettings.exec() ) |
| 71 | LogError("Table Settings not created: %s\n", querySettings.lastError().text().toStdString().c_str()); |
| 72 | |
| 73 | |
| 74 | |
| 75 | auto queryListenerProfiles = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME)); |
| 76 | queryListenerProfiles.prepare("CREATE TABLE IF NOT EXISTS ListenerProfiles ( " |
| 77 | "project TEXT, " |
| 78 | "name TEXT, " |
| 79 | "data TEXT, " |
| 80 | "PRIMARY KEY (project, name) );" |
| 81 | ); |
| 82 | if ( !queryListenerProfiles.exec() ) |
| 83 | LogError("Table ListenerProfiles not created: %s\n", queryListenerProfiles.lastError().text().toStdString().c_str()); |
| 84 | |
| 85 | auto queryAgentProfiles = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME)); |
| 86 | queryAgentProfiles.prepare("CREATE TABLE IF NOT EXISTS AgentProfiles ( " |
| 87 | "project TEXT, " |
| 88 | "name TEXT, " |
| 89 | "data TEXT, " |
| 90 | "PRIMARY KEY (project, name) );" |
| 91 | ); |
| 92 | if ( !queryAgentProfiles.exec() ) |
| 93 | LogError("Table AgentProfiles not created: %s\n", queryAgentProfiles.lastError().text().toStdString().c_str()); |
| 94 | } |
| 95 | |
| 96 | /// PROJECTS |
| 97 |
no test coverage detected