query.exec("CREATE TABLE CONFERENCE ( \
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , \
- title VARCHAR NOT NULL , \
+ title VARCHAR UNIQUE NOT NULL , \
subtitle VARCHAR, \
venue VARCHAR, \
city VARCHAR NOT NULL , \
query.exec("CREATE TABLE ROOM ( \
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , \
- name VARCHAR NOT NULL , \
+ name VARCHAR UNIQUE NOT NULL , \
picture VARCHAR NOT NULL)");
query.exec("CREATE TABLE PERSON ( \
id INTEGER PRIMARY KEY NOT NULL , \
- name VARCHAR NOT NULL)");
+ name VARCHAR UNIQUE NOT NULL)");
query.exec("CREATE TABLE EVENT ( \
xid_conference INTEGER NOT NULL, \
xid_conference INTEGER NOT NULL , \
xid_event INTEGER NOT NULL , \
xid_person INTEGER NOT NULL, \
- FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id), \
+ FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), \
+ FOREIGN KEY(xid_event) REFERENCES EVENT(id), \
FOREIGN KEY(xid_person) REFERENCES PERSON(id))");
query.exec("CREATE TABLE EVENT_ROOM ( \
xid_conference INTEGER NOT NULL , \
xid_event INTEGER NOT NULL , \
xid_room INTEGER NOT NULL, \
- FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id), \
+ FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), \
+ FOREIGN KEY(xid_event) REFERENCES EVENT(id), \
FOREIGN KEY(xid_room) REFERENCES ROOM(id))");
query.exec("CREATE TABLE LINK ( \
xid_event INTEGER NOT NULL, \
name VARCHAR, \
url VARCHAR NOT NULL, \
- FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id))");
+ FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), \
+ FOREIGN KEY(xid_event) REFERENCES EVENT(id)");
}
else
{
// DROP
execQuery( db, "DROP TABLE IF EXISTS SEARCH_EVENT;");
// CREATE
- execQuery( db, "CREATE TABLE SEARCH_EVENT ( xid_conference INTEGER NOT NULL, id INTEGER NOT NULL );");
+ execQuery( db, "CREATE TEMP TABLE SEARCH_EVENT ( xid_conference INTEGER NOT NULL, id INTEGER NOT NULL );");
// INSERT
QString query = QString("INSERT INTO SEARCH_EVENT ( xid_conference, id) "
"SELECT xid_conference, id FROM EVENT "