2
PRAGMA foreign_keys = ON;
4
CREATE TABLE _request (
9
mailing_list_id INTEGER,
11
CONSTRAINT _request_mailing_list_id_fk
12
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
15
CREATE TABLE acceptablealias (
17
"alias" TEXT NOT NULL,
18
mailing_list_id INTEGER NOT NULL,
20
CONSTRAINT acceptablealias_mailing_list_id_fk
21
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
23
CREATE INDEX ix_acceptablealias_mailing_list_id
24
ON acceptablealias (mailing_list_id);
25
CREATE INDEX ix_acceptablealias_alias ON acceptablealias ("alias");
27
CREATE TABLE address (
32
verified_on TIMESTAMP,
33
registered_on TIMESTAMP,
35
preferences_id INTEGER,
37
CONSTRAINT address_user_id_fk
38
FOREIGN KEY (user_id) REFERENCES user (id),
39
CONSTRAINT address_preferences_id_fk
40
FOREIGN KEY (preferences_id) REFERENCES preferences (id)
43
CREATE TABLE autoresponserecord (
46
mailing_list_id INTEGER,
47
response_type INTEGER,
50
CONSTRAINT autoresponserecord_address_id_fk
51
FOREIGN KEY (address_id) REFERENCES address (id),
52
CONSTRAINT autoresponserecord_mailing_list_id
53
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
55
CREATE INDEX ix_autoresponserecord_address_id
56
ON autoresponserecord (address_id);
57
CREATE INDEX ix_autoresponserecord_mailing_list_id
58
ON autoresponserecord (mailing_list_id);
60
CREATE TABLE bounceevent (
64
'timestamp' TIMESTAMP,
71
CREATE TABLE contentfilter (
73
mailing_list_id INTEGER,
77
CONSTRAINT contentfilter_mailing_list_id
78
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
80
CREATE INDEX ix_contentfilter_mailing_list_id
81
ON contentfilter (mailing_list_id);
92
CREATE TABLE language (
98
CREATE TABLE mailinglist (
103
include_list_post_header BOOLEAN,
104
include_rfc2369_headers BOOLEAN,
105
-- Attributes not directly modifiable via the web u/i
106
created_at TIMESTAMP,
107
admin_member_chunksize INTEGER,
108
next_request_id INTEGER,
109
next_digest_number INTEGER,
110
digest_last_sent_at TIMESTAMP,
112
last_post_at TIMESTAMP,
113
accept_these_nonmembers BLOB,
114
acceptable_aliases_id INTEGER,
115
admin_immed_notify BOOLEAN,
116
admin_notify_mchanges BOOLEAN,
117
administrivia BOOLEAN,
119
anonymous_list BOOLEAN,
121
archive_private BOOLEAN,
122
archive_volume_frequency INTEGER,
123
-- Automatic responses.
124
autorespond_owner INTEGER,
125
autoresponse_owner_text TEXT,
126
autorespond_postings INTEGER,
127
autoresponse_postings_text TEXT,
128
autorespond_requests INTEGER,
129
autoresponse_request_text TEXT,
130
autoresponse_grace_period TEXT,
132
forward_unrecognized_bounces_to INTEGER,
133
process_bounces BOOLEAN,
134
bounce_info_stale_after TEXT,
135
bounce_matching_headers TEXT,
136
bounce_notify_owner_on_disable BOOLEAN,
137
bounce_notify_owner_on_removal BOOLEAN,
138
bounce_score_threshold INTEGER,
139
bounce_you_are_disabled_warnings INTEGER,
140
bounce_you_are_disabled_warnings_interval TEXT,
141
-- Content filtering.
142
filter_action INTEGER,
143
filter_content BOOLEAN,
144
collapse_alternatives BOOLEAN,
145
convert_html_to_plaintext BOOLEAN,
146
default_member_action INTEGER,
147
default_nonmember_action INTEGER,
149
digest_footer_uri TEXT,
150
digest_header_uri TEXT,
151
digest_is_default BOOLEAN,
152
digest_send_periodic BOOLEAN,
153
digest_size_threshold FLOAT,
154
digest_volume_frequency INTEGER,
156
discard_these_nonmembers BLOB,
158
encode_ascii_prefixes BOOLEAN,
159
first_strip_reply_to BOOLEAN,
161
forward_auto_discards BOOLEAN,
162
gateway_to_mail BOOLEAN,
163
gateway_to_news BOOLEAN,
164
generic_nonmember_action INTEGER,
165
goodbye_message_uri TEXT,
168
hold_these_nonmembers BLOB,
170
linked_newsgroup TEXT,
171
max_days_to_hold INTEGER,
172
max_message_size INTEGER,
173
max_num_recipients INTEGER,
174
member_moderation_notice TEXT,
175
mime_is_default_digest BOOLEAN,
176
moderator_password TEXT,
177
new_member_options INTEGER,
178
news_moderation INTEGER,
179
news_prefix_subject_too BOOLEAN,
181
nondigestable BOOLEAN,
182
nonmember_rejection_notice TEXT,
183
obscure_addresses BOOLEAN,
189
posting_pipeline TEXT,
190
preferred_language TEXT,
191
private_roster BOOLEAN,
193
reject_these_nonmembers BLOB,
194
reply_goes_to_list INTEGER,
195
reply_to_address TEXT,
196
require_explicit_destination BOOLEAN,
197
respond_to_post_requests BOOLEAN,
198
scrub_nondigest BOOLEAN,
199
send_goodbye_message BOOLEAN,
200
send_reminders BOOLEAN,
201
send_welcome_message BOOLEAN,
203
subscribe_auto_approval BLOB,
204
subscribe_policy INTEGER,
206
topics_bodylines_limit INTEGER,
207
topics_enabled BOOLEAN,
208
unsubscribe_policy INTEGER,
209
welcome_message_uri TEXT,
213
CREATE TABLE member (
218
moderation_action INTEGER,
220
preferences_id INTEGER,
223
CONSTRAINT member_address_id_fk
224
FOREIGN KEY (address_id) REFERENCES address (id),
225
CONSTRAINT member_preferences_id_fk
226
FOREIGN KEY (preferences_id) REFERENCES preferences (id)
227
CONSTRAINT member_user_id_fk
228
FOREIGN KEY (user_id) REFERENCES user (id)
230
CREATE INDEX ix_member__member_id ON member (_member_id);
231
CREATE INDEX ix_member_address_id ON member (address_id);
232
CREATE INDEX ix_member_preferences_id ON member (preferences_id);
234
CREATE TABLE message (
236
message_id_hash TEXT,
242
CREATE TABLE onelastdigest (
244
mailing_list_id INTEGER,
246
delivery_mode INTEGER,
248
CONSTRAINT onelastdigest_mailing_list_id_fk
249
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist(id),
250
CONSTRAINT onelastdigest_address_id_fk
251
FOREIGN KEY (address_id) REFERENCES address(id)
254
CREATE TABLE pended (
257
expiration_date TIMESTAMP,
261
CREATE TABLE pendedkeyvalue (
267
CONSTRAINT pendedkeyvalue_pended_id_fk
268
FOREIGN KEY (pended_id) REFERENCES pended (id)
271
CREATE TABLE preferences (
273
acknowledge_posts BOOLEAN,
274
hide_address BOOLEAN,
275
preferred_language TEXT,
276
receive_list_copy BOOLEAN,
277
receive_own_postings BOOLEAN,
278
delivery_mode INTEGER,
279
delivery_status INTEGER,
288
_created_on TIMESTAMP,
289
_preferred_address_id INTEGER,
290
preferences_id INTEGER,
292
CONSTRAINT user_preferences_id_fk
293
FOREIGN KEY (preferences_id) REFERENCES preferences (id),
294
CONSTRAINT _preferred_address_id_fk
295
FOREIGN KEY (_preferred_address_id) REFERENCES address (id)
297
CREATE INDEX ix_user_user_id ON user (_user_id);
299
CREATE TABLE version (
306
CREATE INDEX ix__request_mailing_list_id ON _request (mailing_list_id);
307
CREATE INDEX ix_address_preferences_id ON address (preferences_id);
308
CREATE INDEX ix_address_user_id ON address (user_id);
309
CREATE INDEX ix_pendedkeyvalue_pended_id ON pendedkeyvalue (pended_id);
310
CREATE INDEX ix_user_preferences_id ON user (preferences_id);
320
-- Keep track of all assigned unique ids to prevent re-use.
325
CREATE INDEX ix_uid_uid ON uid (uid);