Added configuration of temporary directory.
[emufront] / src / db / dbcreator.cpp
index 825cd44..5b686af 100644 (file)
@@ -28,7 +28,7 @@
 using namespace std;
 
 const int DbCreator::TABLES_COUNT = 3;
-const QString DbCreator::TABLES[] = {"platform", "mediatype", "filepath", "mediaimagecontainer", "mediaimage", "mediaimagecontainer_mediaimage"};
+const QString DbCreator::TABLES[] = {"platform", "mediatype", "filepath", "mediaimagecontainer_filepath", "mediaimage", "mediaimagecontainer_mediaimage"};
 
 DbCreator::DbCreator(QObject *parent) : QObject(parent)
 {
@@ -42,8 +42,8 @@ bool DbCreator::createDB()
 
     try
     {
-        query.exec("DROP TABLE IF EXISTS mediaimagecontainer_file");
-        query.exec("DROP TABLE IF EXISTS mediaimagecontainer");
+        query.exec("DROP TABLE IF EXISTS mediaimagecontainer_mediaimage");
+        query.exec("DROP TABLE IF EXISTS mediaimagecontainer_filepath");
         query.exec("DROP TABLE IF EXISTS filepath");
         query.exec("DROP TABLE IF EXISTS setup");
         query.exec("DROP TABLE IF EXISTS mediatype");
@@ -53,10 +53,13 @@ bool DbCreator::createDB()
 
         qDebug() << "Creating TABLE file";
 
+        ret = query.exec("CREATE TABLE IF NOT EXISTS config"
+                "(tmpdirpath TEXT)"
+            );
+
         ret = query.exec("CREATE TABLE IF NOT EXISTS file"
                         "(id INTEGER PRIMARY KEY, "
-                        "name TEXT, "   // TODO: optional here! -> mediaimagecontainer has filepath spesific name and media image has mediaimagecontainer specific name
-                                        // so no name here for those file types
+                        "name TEXT, "
                         "type INTEGER, "
                         "checksum TEXT, "
                         "size INTEGER, "
@@ -116,22 +119,20 @@ bool DbCreator::createDB()
 
         if (!ret) throw QString("tbl filepath");
 
-        qDebug() << "Creating TABLE mediaimagecontainer";
+        qDebug() << "Creating TABLE mediaimagecontainer_filepath";
 
-        ret = query.exec("CREATE TABLE IF NOT EXISTS mediaimagecontainer " // mediaimagecontainer_filepath
+        ret = query.exec("CREATE TABLE IF NOT EXISTS mediaimagecontainer_filepath "
                         "(fileid INTEGER REFERENCES file(id), "
                         "filepathid INTEGER REFERENCES filepath(id), "
-                        // TODO: mediaimagecontainername -> filepath specific name for media image container!
                         "updatetime NUMERIC)");
 
-        if (!ret) throw QString("tbl mediaimagecontainer");
+        if (!ret) throw QString("tbl mediaimagecontainer_filepath");
 
 
         qDebug() << "Creating TABLE mediaimagecontainer_mediaimage";
 
         ret = query.exec("CREATE TABLE IF NOT EXISTS mediaimagecontainer_mediaimage "
                         "(mediaimagecontainerid INTEGER REFERENCES file(id), "
-                        // TODO: mediaimagename -> mediaimagecontainer specific name for media image!
                         "mediaimageid INTEGER REFERENCES file(id))");
 
         if (!ret) throw QString("tbl mediaimagecontainer_mediaimage");
@@ -171,7 +172,7 @@ bool DbCreator::createDB()
             "CREATE TRIGGER IF NOT EXISTS trg_onfilepathdelete "
             "AFTER DELETE ON filepath "
             "BEGIN "
-            "   DELETE FROM mediaimagecontainer WHERE mediaimagecontainer.filepathid=old.id; "
+            "   DELETE FROM mediaimagecontainer_filepath WHERE mediaimagecontainer_filepath.filepathid=old.id; "
             "END;"
         );
 
@@ -179,7 +180,7 @@ bool DbCreator::createDB()
 
         query.exec(
             "CREATE TRIGGER IF NOT EXISTS trg_onmediaimagecontainerdelete "
-            "AFTER DELETE ON mediaimagecontainer "
+            "AFTER DELETE ON mediaimagecontainer_filepath "
             "BEGIN "
             "   DELETE FROM mediaimagecontainer_mediaimage WHERE mediaimagecontainer_mediaimage.mediaimagecontainerid=old.fileid;"
             "END;"