1 |
|
2 | CREATE TABLE device (
|
3 | id INTEGER PRIMARY KEY,
|
4 | ua INTEGER,
|
5 | hash BLOB UNIQUE
|
6 | );
|
7 |
|
8 | CREATE TABLE device_ua (
|
9 | id INTEGER PRIMARY KEY,
|
10 | text TEXT
|
11 | );
|
12 |
|
13 | CREATE TABLE session (
|
14 | id INTEGER PRIMARY KEY,
|
15 | device INTEGER NOT NULL REFERENCES device(id) ON UPDATE CASCADE,
|
16 | ip BLOB
|
17 | );
|
18 |
|
19 | CREATE TABLE window (
|
20 | id INTEGER PRIMARY KEY AUTOINCREMENT,
|
21 | created INTEGER,
|
22 | session INTEGER NOT NULL REFERENCES session(id) ON UPDATE CASCADE,
|
23 | deleted INTEGER default NULL,
|
24 | opener BLOB
|
25 | );
|
26 |
|
27 | CREATE INDEX window_s ON window(session) WHERE deleted IS NULL;
|
28 |
|
29 | CREATE TABLE login (
|
30 | id INTEGER PRIMARY KEY,
|
31 | created INTEGER,
|
32 | deleted INTEGER,
|
33 | window INTEGER,
|
34 | type INTEGER,
|
35 | user INTEGER
|
36 | );
|
37 |
|
38 | CREATE INDEX login_w ON login(window) WHERE deleted IS NULL;
|
39 |
|
40 | CREATE TABLE login_type (
|
41 | id INTEGER PRIMARY KEY,
|
42 | text TEXT
|
43 | );
|
44 |
|
45 | CREATE TABLE window_log (
|
46 | id INTEGER PRIMARY KEY,
|
47 | time INTEGER default (CAST(((julianday('now') - 2440587.5)*86400000) as INTEGER)),
|
48 | window INTEGER,
|
49 | event BLOB,
|
50 | data BLOB
|
51 | );
|
52 |
|
53 | CREATE TABLE remember (
|
54 | device INTEGER NOT NULL REFERENCES device(id) ON UPDATE CASCADE,
|
55 | user INTEGER NOT NULL,
|
56 | login INTEGER NOT NULL REFERENCES login(id) ON UPDATE CASCADE,
|
57 | PRIMARY KEY(device, user)
|
58 | );
|
59 |
|
60 | CREATE TABLE invite (
|
61 | id INTEGER PRIMARY KEY,
|
62 | created INTEGER,
|
63 | hash BLOB UNIQUE,
|
64 | role INTEGER
|
65 | );
|
66 |
|
67 | CREATE TABLE recover (
|
68 | id INTEGER PRIMARY KEY,
|
69 | created INTEGER default (CAST(((julianday('now') - 2440587.5)*86400000) as INTEGER)),
|
70 | hash BLOB UNIQUE,
|
71 | user INTEGER
|
72 | );
|
73 |
|
74 |
|
75 |
|
76 | DROP TABLE device;
|
77 | DROP TABLE session;
|
78 | DROP TABLE window;
|
79 | DROP TABLE window_log;
|
80 | DROP TABLE login;
|
81 | DROP TABLE login_type;
|
82 | DROP TABLE invite;
|
83 | DROP TABLE recover;
|
84 |
|
85 | DROP INDEX window_s;
|
86 | DROP INDEX login_w;
|
87 |
|