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)
{
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");
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, "
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");
"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;"
);
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;"