3 ALTER TABLE conference RENAME TO conference_old;
4 ALTER TABLE track RENAME TO track_old;
5 ALTER TABLE room RENAME TO room_old;
6 ALTER TABLE person RENAME TO person_old;
7 ALTER TABLE event RENAME TO event_old;
8 ALTER TABLE event_person RENAME TO event_person_old;
9 ALTER TABLE event_room RENAME TO event_room_old;
10 ALTER TABLE link RENAME TO link_old;
12 CREATE TABLE conference (
13 id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
14 title VARCHAR NOT NULL,
18 start INTEGER NOT NULL, -- timezone-less timestamp (Unix Epoch)
19 end INTEGER NOT NULL, -- timezone-less timestamp (Unix Epoch)
21 timeslot_duration INTEGER,
22 active INTEGER DEFAULT 0,
27 id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
28 xid_conference INTEGER NOT NULL REFERENCES conference(id),
29 name VARCHAR NOT NULL,
30 UNIQUE (xid_conference, name)
34 id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
35 xid_conference INTEGER NOT NULL REFERENCES conference(id),
36 name VARCHAR NOT NULL,
38 UNIQUE (xid_conference, name)
43 xid_conference INTEGER NOT NULL REFERENCES conference(id),
44 name VARCHAR NOT NULL,
45 PRIMARY KEY (id, xid_conference)
49 xid_conference INTEGER NOT NULL REFERENCES conference(id),
51 start INTEGER NOT NULL,
52 duration INTEGER NOT NULL, -- duration of the event in seconds
53 xid_track INTEGER NOT NULL REFERENCES track(id),
57 title VARCHAR NOT NULL,
61 favourite INTEGER DEFAULT 0,
62 alarm INTEGER DEFAULT 0,
63 PRIMARY KEY (xid_conference, id)
66 CREATE TABLE event_person (
67 xid_conference INTEGER NOT NULL,
68 xid_event INTEGER NOT NULL,
69 xid_person INTEGER NOT NULL,
70 UNIQUE (xid_conference, xid_event, xid_person ) ON CONFLICT REPLACE,
71 FOREIGN KEY(xid_conference) REFERENCES conference(id),
72 FOREIGN KEY(xid_conference, xid_event) REFERENCES event(xid_conference, id),
73 FOREIGN KEY(xid_conference, xid_person) REFERENCES person(xid_conference, id)
76 CREATE TABLE event_room (
77 xid_conference INTEGER NOT NULL,
78 xid_event INTEGER NOT NULL,
79 xid_room INTEGER NOT NULL,
80 UNIQUE (xid_conference, xid_event, xid_room) ON CONFLICT REPLACE,
81 FOREIGN KEY(xid_conference) REFERENCES conference(id),
82 FOREIGN KEY(xid_conference, xid_event) REFERENCES event(xid_conference, id),
83 FOREIGN KEY(xid_conference, xid_room) REFERENCES room(xid_conference, id)
87 id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
88 xid_conference INTEGER NOT NULL,
89 xid_event INTEGER NOT NULL,
92 UNIQUE (xid_conference, xid_event , url) ON CONFLICT REPLACE,
93 FOREIGN KEY(xid_conference) REFERENCES conference(id),
94 FOREIGN KEY(xid_conference, xid_event) REFERENCES event(xid_conference, id)
97 INSERT INTO conference SELECT id, title, subtitle, venue, city, start, end, day_change, timeslot_duration, active, url FROM conference_old;
98 INSERT INTO track SELECT * FROM track_old;
99 INSERT INTO room SELECT * FROM room_old;
100 INSERT INTO person SELECT * FROM person_old;
101 INSERT INTO event SELECT * FROM event_old;
102 INSERT INTO event_person SELECT * FROM event_person_old;
103 INSERT INTO event_room SELECT * FROM event_room_old;
104 INSERT INTO link SELECT * FROM link_old;
106 DROP TABLE conference_old;
107 DROP TABLE track_old;
109 DROP TABLE person_old;
110 DROP TABLE event_old;
111 DROP TABLE event_person_old;
112 DROP TABLE event_room_old;
115 PRAGMA user_version=1;