[cfe9990] | 1 | BEGIN TRANSACTION; |
---|
| 2 | CREATE TABLE CONFERENCE ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
| 3 | , title VARCHAR UNIQUE NOT NULL |
---|
| 4 | , subtitle VARCHAR |
---|
| 5 | , venue VARCHAR |
---|
| 6 | , city VARCHAR NOT NULL |
---|
| 7 | , start INTEGER NOT NULL |
---|
| 8 | , end INTEGER NOT NULL |
---|
| 9 | , days INTEGER |
---|
| 10 | , day_change INTEGER |
---|
| 11 | , timeslot_duration INTEGER |
---|
| 12 | , active INTEGER DEFAULT 0 |
---|
[f657e9c] | 13 | , url VARCHAR |
---|
[cfe9990] | 14 | , map VARCHAR); |
---|
| 15 | |
---|
| 16 | CREATE TABLE TRACK ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
[865aab6] | 17 | , xid_conference INTEGER NOT NULL |
---|
[f657e9c] | 18 | , name VARCHAR NOT NULL |
---|
| 19 | , UNIQUE (xid_conference, name)); |
---|
[cfe9990] | 20 | |
---|
[865aab6] | 21 | CREATE TABLE ROOM ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
| 22 | , xid_conference INTEGER NOT NULL |
---|
[f657e9c] | 23 | , name VARCHAR NOT NULL |
---|
| 24 | , picture VARCHAR NOT NULL |
---|
| 25 | , UNIQUE (xid_conference, name)); |
---|
[cfe9990] | 26 | |
---|
[865aab6] | 27 | CREATE TABLE PERSON ( id INTEGER NOT NULL |
---|
| 28 | , xid_conference INTEGER NOT NULL |
---|
[f657e9c] | 29 | , name VARCHAR NOT NULL |
---|
[865aab6] | 30 | , UNIQUE (xid_conference, name) |
---|
| 31 | , PRIMARY KEY (id, xid_conference)); |
---|
[cfe9990] | 32 | |
---|
| 33 | CREATE TABLE EVENT ( xid_conference INTEGER NOT NULL |
---|
| 34 | , id INTEGER NOT NULL |
---|
| 35 | , start INTEGER NOT NULL |
---|
| 36 | , duration INTEGER NOT NULL |
---|
| 37 | , xid_track INTEGER NOT NULL REFERENCES TRACK(id) |
---|
| 38 | , type VARCHAR |
---|
| 39 | , language VARCHAR |
---|
| 40 | , tag VARCHAR |
---|
| 41 | , title VARCHAR NOT NULL |
---|
| 42 | , subtitle VARCHAR |
---|
| 43 | , abstract VARCHAR |
---|
| 44 | , description VARCHAR |
---|
| 45 | , favourite INTEGER DEFAULT 0 |
---|
| 46 | , alarm INTEGER DEFAULT 0 |
---|
| 47 | , PRIMARY KEY (xid_conference ,id) |
---|
| 48 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
| 49 | , FOREIGN KEY(xid_track) REFERENCES TRACK(id)); |
---|
| 50 | |
---|
| 51 | CREATE TABLE EVENT_PERSON ( xid_conference INTEGER NOT NULL |
---|
| 52 | , xid_event INTEGER NOT NULL |
---|
| 53 | , xid_person INTEGER NOT NULL |
---|
| 54 | , UNIQUE ( xid_conference , xid_event , xid_person ) ON CONFLICT REPLACE |
---|
| 55 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
| 56 | , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id) |
---|
[865aab6] | 57 | , FOREIGN KEY(xid_conference, xid_person) REFERENCES PERSON(xid_conference, id)); |
---|
[cfe9990] | 58 | |
---|
| 59 | CREATE TABLE EVENT_ROOM ( xid_conference INTEGER NOT NULL |
---|
| 60 | , xid_event INTEGER NOT NULL |
---|
| 61 | , xid_room INTEGER NOT NULL |
---|
| 62 | , UNIQUE ( xid_conference , xid_event , xid_room ) ON CONFLICT REPLACE |
---|
| 63 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
| 64 | , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id) |
---|
[865aab6] | 65 | , FOREIGN KEY(xid_conference, xid_room) REFERENCES ROOM(xid_conference, id)); |
---|
[cfe9990] | 66 | |
---|
| 67 | CREATE TABLE LINK ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
| 68 | , xid_conference INTEGER NOT NULL |
---|
| 69 | , xid_event INTEGER NOT NULL |
---|
| 70 | , name VARCHAR |
---|
| 71 | , url VARCHAR NOT NULL |
---|
| 72 | , UNIQUE ( xid_conference , xid_event , url ) ON CONFLICT REPLACE |
---|
| 73 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
| 74 | , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id)); |
---|
| 75 | COMMIT; |
---|