@@ -14,27 +14,9 @@ CDatabaseUrl::CDatabaseUrl(QObject *parent)
1414
1515bool CDatabaseUrl::OnInitializeDatabase ()
1616{
17- QSqlQuery query (GetDatabase ());
18-
19- // 创建历史记录表
20- bool success = query.exec (
21- " CREATE TABLE IF NOT EXISTS url ("
22- " id INTEGER PRIMARY KEY AUTOINCREMENT,"
23- " url TEXT UNIQUE NOT NULL,"
24- " title TEXT,"
25- " icon INTEGER DEFAULT 0,"
26- " visit_time DATETIME DEFAULT CURRENT_TIMESTAMP"
27- " )"
28- );
29-
30- if (!success) {
31- qCritical (log) << " Failed to create url table:" << query.lastError ().text ();
32- return false ;
33- }
34-
35- // 创建索引
36- query.exec (" CREATE INDEX IF NOT EXISTS idx_url_url ON url(url)" );
37-
17+ bool success = false ;
18+ success = CDatabase::OnInitializeDatabase ();
19+ if (!success) return success;
3820 m_iconDB.SetDatabase (GetDatabase ());
3921 success = m_iconDB.OnInitializeDatabase ();
4022 return success;
@@ -269,7 +251,9 @@ QList<int> CDatabaseUrl::GetDomain(const QString &szDomain)
269251 ret << query.value (0 ).toInt ();
270252 }
271253 } else {
272- qCritical (log) << " Failed to get domain:" << query.lastError ().text ();
254+ qCritical (log) << " Failed to get domain:"
255+ << query.lastError ().text ()
256+ << query.executedQuery ();
273257 }
274258
275259 return ret;
@@ -299,6 +283,10 @@ QList<CDatabaseUrl::UrlItem> CDatabaseUrl::Search(const QString &keyword)
299283 item.icon = m_iconDB.GetIcon (query.value (4 ).toInt ());
300284 items.append (item);
301285 }
286+ } else {
287+ qCritical (log) << " Failed to search:"
288+ << query.lastError ().text ()
289+ << query.executedQuery ();
302290 }
303291
304292 return items;
@@ -313,3 +301,62 @@ bool CDatabaseUrl::ImportFromJson(const QJsonObject &obj)
313301{
314302 return true ;
315303}
304+
305+ bool CDatabaseUrl::OnInitializeSqliteDatabase ()
306+ {
307+ QSqlQuery query (GetDatabase ());
308+
309+ // 创建历史记录表
310+ bool success = query.exec (
311+ " CREATE TABLE IF NOT EXISTS url ("
312+ " id INTEGER PRIMARY KEY AUTOINCREMENT,"
313+ " url TEXT UNIQUE NOT NULL,"
314+ " title TEXT,"
315+ " icon INTEGER DEFAULT 0,"
316+ " visit_time DATETIME DEFAULT CURRENT_TIMESTAMP"
317+ " )"
318+ );
319+
320+ if (!success) {
321+ qCritical (log) << " Failed to create url table:"
322+ << query.lastError ().text ()
323+ << query.executedQuery ();
324+ return false ;
325+ }
326+
327+ // 创建索引
328+ success = query.exec (" CREATE INDEX IF NOT EXISTS idx_url_url ON url(url)" );
329+ if (!success) {
330+ qWarning (log) << " Failed to create index idx_url_url:"
331+ << query.lastError ().text ()
332+ << query.executedQuery ();
333+ }
334+
335+ return true ;
336+ }
337+
338+ bool CDatabaseUrl::OnInitializeMySqlDatabase ()
339+ {
340+ QSqlQuery query (GetDatabase ());
341+
342+ // 创建历史记录表
343+ bool success = query.exec (
344+ " CREATE TABLE IF NOT EXISTS url ("
345+ " id INTEGER PRIMARY KEY AUTO_INCREMENT,"
346+ " url TEXT NOT NULL,"
347+ " title TEXT,"
348+ " icon INTEGER DEFAULT 0,"
349+ " visit_time DATETIME DEFAULT CURRENT_TIMESTAMP,"
350+ " INDEX idx_url_url (url)"
351+ " )"
352+ );
353+
354+ if (!success) {
355+ qCritical (log) << " Failed to create url table:"
356+ << query.lastError ().text ()
357+ << query.executedQuery ();
358+ return false ;
359+ }
360+
361+ return success;
362+ }
0 commit comments