// Application headers.
#include "DomainsDatabaseHelper.h"
+#include "UserAgentHelper.h"
// Define the public static domain constants.
const QString DomainsDatabaseHelper::CONNECTION_NAME = "domains_database";
const QString DomainsDatabaseHelper::DOMAINS_TABLE = "domains";
// Define the private static schema constants.
-const int DomainsDatabaseHelper::SCHEMA_VERSION = 1;
+const int DomainsDatabaseHelper::SCHEMA_VERSION = 2;
// Define the public static database field names.
const QString DomainsDatabaseHelper::_ID = "_id";
const QString DomainsDatabaseHelper::DOMAIN_NAME = "domain_name";
const QString DomainsDatabaseHelper::JAVASCRIPT = "javascript";
+const QString DomainsDatabaseHelper::USER_AGENT = "user_agent";
// The default constructor.
DomainsDatabaseHelper::DomainsDatabaseHelper() {}
// Set the default value.
domainsDatabase.exec("UPDATE " + DOMAINS_TABLE + " SET " + JAVASCRIPT + " = 0" );
+
+ [[fallthrough]];
+ }
+
+ // Upgrade from schema version 1.
+ case 1:
+ {
+ // Add the User Agent column.
+ domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + USER_AGENT + " TEXT DEFAULT '" + UserAgentHelper::SYSTEM_DEFAULT_DATABASE + "'");
}
}
createTableQuery.prepare("CREATE TABLE " + DOMAINS_TABLE + "(" +
_ID + " INTEGER PRIMARY KEY, " +
DOMAIN_NAME + " TEXT, " +
- JAVASCRIPT + " INTEGER DEFAULT 0)"
+ JAVASCRIPT + " INTEGER DEFAULT 0," +
+ USER_AGENT + " TEXT DEFAULT '" + UserAgentHelper::SYSTEM_DEFAULT_DATABASE + "')"
);
// Execute the query.