· 8 years ago · Jan 17, 2018, 02:24 PM
1 isOk = isOk && query.exec( "CREATE TABLE IF NOT EXISTS config ( "
2 "id INTEGER PRIMARY KEY AUTOINCREMENT, "
3 "name TEXT UNIQUE, "
4 "value TEXT NOT NULL "
5 ");" );
6
7 isOk = isOk && query.exec( "CREATE TABLE IF NOT EXISTS notifications ( "
8 "id INTEGER PRIMARY KEY AUTOINCREMENT, "
9 "message TEXT, "
10 "type INTEGER, "
11 "severity INTEGER, "
12 "timestamp INTEGER "
13 ");" );
14
15 isOk = isOk && query.exec( "CREATE TABLE IF NOT EXISTS systemdata ( "
16 "id INTEGER PRIMARY KEY AUTOINCREMENT, "
17 "cputemp INTEGER, "
18 "cpuload INTEGER, "
19 "freebytes INTEGER, "
20 "notificationid INTEGER, "
21 "FOREIGN KEY(notificationid) REFERENCES notifications(id) ON DELETE CASCADE"
22 ");" );
23
24 isOk = isOk && query.exec( QString( "CREATE TRIGGER IF NOT EXISTS row_limiter "
25 "AFTER INSERT ON notifications "
26 "WHEN %1 < ( SELECT COUNT( id ) FROM notifications ) "
27 "BEGIN "
28 "DELETE FROM notifications WHERE id=( SELECT MIN( id ) FROM notifications ); "
29 "END" ).arg( MAX_NOTIFICATIONS_IN_LOG ) );