2 id INTEGER PRIMARY KEY,
6 CREATE SEQUENCE BalanceSeq
START 1;
9 (id, name, amount
) VALUES
13 id INTEGER PRIMARY KEY,
17 joined
TIMESTAMP NOT NULL,
18 FOREIGN KEY (bal
) REFERENCES Balance(id) ON DELETE CASCADE);
20 CREATE SEQUENCE WebUserSeq
START 1;
23 (id, name, bal
) VALUES
26 CREATE TABLE WebGroup(
27 id INTEGER PRIMARY KEY,
30 CREATE SEQUENCE WebGroupSeq
START 4;
36 CREATE TABLE Membership(
39 PRIMARY KEY (grp
, usr
),
40 FOREIGN KEY (grp
) REFERENCES WebGroup(id) ON DELETE CASCADE,
41 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
43 INSERT INTO Membership
47 CREATE TABLE Transaction(
48 id INTEGER PRIMARY KEY,
52 stamp
TIMESTAMP NOT NULL);
54 CREATE SEQUENCE TransactionSeq
START 1;
60 PRIMARY KEY (trn
, usr
),
61 FOREIGN KEY (trn
) REFERENCES Transaction(id) ON DELETE CASCADE,
62 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
65 id INTEGER PRIMARY KEY,
71 votes
INTEGER NOT NULL,
72 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
74 CREATE SEQUENCE PollSeq
START 1;
76 CREATE TABLE PollChoice(
77 id INTEGER PRIMARY KEY,
81 FOREIGN KEY (pol
) REFERENCES Poll(id) ON DELETE CASCADE);
83 CREATE SEQUENCE PollChoiceSeq
START 1;
88 PRIMARY KEY (usr
, cho
),
89 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE,
90 FOREIGN KEY (cho
) REFERENCES PollChoice(id) ON DELETE CASCADE);
92 CREATE TABLE ContactKind(
93 id INTEGER PRIMARY KEY,
99 CREATE SEQUENCE ContactKindSeq
START 1;
101 CREATE TABLE Contact(
102 id INTEGER PRIMARY KEY,
103 usr
INTEGER NOT NULL,
104 knd
INTEGER NOT NULL,
106 priv
INTEGER NOT NULL,
107 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE,
108 FOREIGN KEY (knd
) REFERENCES ContactKind(id) ON DELETE CASCADE);
110 CREATE SEQUENCE ContactSeq
START 1;
112 CREATE TABLE Location(
113 id INTEGER PRIMARY KEY,
116 FOREIGN KEY (parent
) REFERENCES Location(id) ON DELETE CASCADE);
118 CREATE SEQUENCE LocationSeq
START 1;
121 usr
INTEGER NOT NULL,
122 loc
INTEGER NOT NULL,
123 PRIMARY KEY (usr
, loc
),
124 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE,
125 FOREIGN KEY (loc
) REFERENCES Location(id) ON DELETE CASCADE);
128 id INTEGER PRIMARY KEY,
129 usr
INTEGER NOT NULL,
133 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
135 CREATE SEQUENCE LinkSeq
START 1;
137 CREATE TABLE SupCategory(
138 id INTEGER PRIMARY KEY,
139 grp
INTEGER NOT NULL,
142 FOREIGN KEY (grp
) REFERENCES WebGroup(id) ON DELETE CASCADE);
144 CREATE SEQUENCE SupCategorySeq
START 1;
146 CREATE TABLE SupIssue(
147 id INTEGER PRIMARY KEY,
148 usr
INTEGER NOT NULL,
149 cat
INTEGER NOT NULL,
151 priv
BOOLEAN NOT NULL,
152 status
INTEGER NOT NULL,
153 stamp
TIMESTAMP NOT NULL,
154 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE,
155 FOREIGN KEY (cat
) REFERENCES SupCategory(id) ON DELETE CASCADE);
157 CREATE SEQUENCE SupIssueSeq
START 1;
159 CREATE TABLE SupPost(
160 id INTEGER PRIMARY KEY,
161 usr
INTEGER NOT NULL,
162 iss
INTEGER NOT NULL,
164 stamp
TIMESTAMP NOT NULL,
165 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE,
166 FOREIGN KEY (iss
) REFERENCES SupIssue(id) ON DELETE CASCADE);
168 CREATE SEQUENCE SupPostSeq
START 1;
170 CREATE TABLE SupSubscription(
171 usr
INTEGER NOT NULL,
172 cat
INTEGER NOT NULL,
173 PRIMARY KEY (usr
, cat
),
174 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE,
175 FOREIGN KEY (cat
) REFERENCES SupCategory(id) ON DELETE CASCADE);
178 id INTEGER PRIMARY KEY,
179 usr
INTEGER NOT NULL,
182 status
INTEGER NOT NULL,
183 stamp
TIMESTAMP NOT NULL,
184 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
186 CREATE SEQUENCE AptSeq
START 1;
189 id INTEGER PRIMARY KEY,
190 usr
INTEGER NOT NULL,
193 status
INTEGER NOT NULL,
194 stamp
TIMESTAMP NOT NULL,
195 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
197 CREATE SEQUENCE DomainSeq
START 1;
199 CREATE TABLE MailingList(
200 id INTEGER PRIMARY KEY,
201 usr
INTEGER NOT NULL,
204 status
INTEGER NOT NULL,
205 stamp
TIMESTAMP NOT NULL,
206 FOREIGN KEY (usr
) REFERENCES WebUser(id) ON DELETE CASCADE);
208 CREATE SEQUENCE MailingListSeq
START 1;