1
CREATE TABLE mailinglist (
6
include_list_post_header BOOLEAN,
7
include_rfc2369_headers BOOLEAN,
8
-- Attributes not directly modifiable via the web u/i
10
admin_member_chunksize INTEGER,
11
next_request_id INTEGER,
12
next_digest_number INTEGER,
13
digest_last_sent_at TIMESTAMP,
15
last_post_at TIMESTAMP,
16
accept_these_nonmembers BYTEA,
17
acceptable_aliases_id INTEGER,
18
admin_immed_notify BOOLEAN,
19
admin_notify_mchanges BOOLEAN,
20
administrivia BOOLEAN,
22
anonymous_list BOOLEAN,
24
archive_private BOOLEAN,
25
archive_volume_frequency INTEGER,
26
-- Automatic responses.
27
autorespond_owner INTEGER,
28
autoresponse_owner_text TEXT,
29
autorespond_postings INTEGER,
30
autoresponse_postings_text TEXT,
31
autorespond_requests INTEGER,
32
autoresponse_request_text TEXT,
33
autoresponse_grace_period TEXT,
35
forward_unrecognized_bounces_to INTEGER,
36
process_bounces BOOLEAN,
37
bounce_info_stale_after TEXT,
38
bounce_matching_headers TEXT,
39
bounce_notify_owner_on_disable BOOLEAN,
40
bounce_notify_owner_on_removal BOOLEAN,
41
bounce_score_threshold INTEGER,
42
bounce_you_are_disabled_warnings INTEGER,
43
bounce_you_are_disabled_warnings_interval TEXT,
45
filter_action INTEGER,
46
filter_content BOOLEAN,
47
collapse_alternatives BOOLEAN,
48
convert_html_to_plaintext BOOLEAN,
49
default_member_action INTEGER,
50
default_nonmember_action INTEGER,
52
digest_footer_uri TEXT,
53
digest_header_uri TEXT,
54
digest_is_default BOOLEAN,
55
digest_send_periodic BOOLEAN,
56
digest_size_threshold REAL,
57
digest_volume_frequency INTEGER,
59
discard_these_nonmembers BYTEA,
61
encode_ascii_prefixes BOOLEAN,
62
first_strip_reply_to BOOLEAN,
64
forward_auto_discards BOOLEAN,
65
gateway_to_mail BOOLEAN,
66
gateway_to_news BOOLEAN,
67
generic_nonmember_action INTEGER,
68
goodbye_message_uri TEXT,
71
hold_these_nonmembers BYTEA,
73
linked_newsgroup TEXT,
74
max_days_to_hold INTEGER,
75
max_message_size INTEGER,
76
max_num_recipients INTEGER,
77
member_moderation_notice TEXT,
78
mime_is_default_digest BOOLEAN,
79
moderator_password TEXT,
80
new_member_options INTEGER,
81
news_moderation INTEGER,
82
news_prefix_subject_too BOOLEAN,
84
nondigestable BOOLEAN,
85
nonmember_rejection_notice TEXT,
86
obscure_addresses BOOLEAN,
92
posting_pipeline TEXT,
93
preferred_language TEXT,
94
private_roster BOOLEAN,
96
reject_these_nonmembers BYTEA,
97
reply_goes_to_list INTEGER,
98
reply_to_address TEXT,
99
require_explicit_destination BOOLEAN,
100
respond_to_post_requests BOOLEAN,
101
scrub_nondigest BOOLEAN,
102
send_goodbye_message BOOLEAN,
103
send_reminders BOOLEAN,
104
send_welcome_message BOOLEAN,
106
subscribe_auto_approval BYTEA,
107
subscribe_policy INTEGER,
109
topics_bodylines_limit INTEGER,
110
topics_enabled BOOLEAN,
111
unsubscribe_policy INTEGER,
112
welcome_message_uri TEXT,
113
-- This was accidentally added by the PostgreSQL porter.
114
-- moderation_callback TEXT,
118
CREATE TABLE _request (
121
request_type INTEGER,
123
mailing_list_id INTEGER,
125
-- XXX: config.db_reset() triggers IntegrityError
127
-- CONSTRAINT _request_mailing_list_id_fk
128
-- FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
131
CREATE TABLE acceptablealias (
133
"alias" TEXT NOT NULL,
134
mailing_list_id INTEGER NOT NULL,
136
-- XXX: config.db_reset() triggers IntegrityError
138
-- CONSTRAINT acceptablealias_mailing_list_id_fk
139
-- FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
141
CREATE INDEX ix_acceptablealias_mailing_list_id
142
ON acceptablealias (mailing_list_id);
143
CREATE INDEX ix_acceptablealias_alias ON acceptablealias ("alias");
145
CREATE TABLE preferences (
147
acknowledge_posts BOOLEAN,
148
hide_address BOOLEAN,
149
preferred_language TEXT,
150
receive_list_copy BOOLEAN,
151
receive_own_postings BOOLEAN,
152
delivery_mode INTEGER,
153
delivery_status INTEGER,
157
CREATE TABLE address (
162
verified_on TIMESTAMP,
163
registered_on TIMESTAMP,
165
preferences_id INTEGER,
167
-- XXX: config.db_reset() triggers IntegrityError
169
-- CONSTRAINT address_preferences_id_fk
170
-- FOREIGN KEY (preferences_id) REFERENCES preferences (id)
173
CREATE TABLE "user" (
178
_created_on TIMESTAMP,
179
_preferred_address_id INTEGER,
180
preferences_id INTEGER,
182
-- XXX: config.db_reset() triggers IntegrityError
184
-- CONSTRAINT user_preferences_id_fk
185
-- FOREIGN KEY (preferences_id) REFERENCES preferences (id),
186
-- XXX: config.db_reset() triggers IntegrityError
187
-- CONSTRAINT _preferred_address_id_fk
188
-- FOREIGN KEY (_preferred_address_id) REFERENCES address (id)
190
CREATE INDEX ix_user_user_id ON "user" (_user_id);
194
CREATE TABLE autoresponserecord (
197
mailing_list_id INTEGER,
198
response_type INTEGER,
201
-- XXX: config.db_reset() triggers IntegrityError
203
-- CONSTRAINT autoresponserecord_address_id_fk
204
-- FOREIGN KEY (address_id) REFERENCES address (id)
205
-- XXX: config.db_reset() triggers IntegrityError
207
-- CONSTRAINT autoresponserecord_mailing_list_id
208
-- FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
210
CREATE INDEX ix_autoresponserecord_address_id
211
ON autoresponserecord (address_id);
212
CREATE INDEX ix_autoresponserecord_mailing_list_id
213
ON autoresponserecord (mailing_list_id);
215
CREATE TABLE bounceevent (
219
"timestamp" TIMESTAMP,
226
CREATE TABLE contentfilter (
228
mailing_list_id INTEGER,
232
CONSTRAINT contentfilter_mailing_list_id
233
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist (id)
235
CREATE INDEX ix_contentfilter_mailing_list_id
236
ON contentfilter (mailing_list_id);
238
CREATE TABLE domain (
243
contact_address TEXT,
247
CREATE TABLE language (
253
CREATE TABLE member (
258
moderation_action INTEGER,
260
preferences_id INTEGER,
263
-- XXX: config.db_reset() triggers IntegrityError
265
-- CONSTRAINT member_address_id_fk
266
-- FOREIGN KEY (address_id) REFERENCES address (id),
267
-- XXX: config.db_reset() triggers IntegrityError
268
-- CONSTRAINT member_preferences_id_fk
269
-- FOREIGN KEY (preferences_id) REFERENCES preferences (id),
270
-- CONSTRAINT member_user_id_fk
271
-- FOREIGN KEY (user_id) REFERENCES "user" (id)
273
CREATE INDEX ix_member__member_id ON member (_member_id);
274
CREATE INDEX ix_member_address_id ON member (address_id);
275
CREATE INDEX ix_member_preferences_id ON member (preferences_id);
277
CREATE TABLE message (
279
message_id_hash BYTEA,
285
CREATE TABLE onelastdigest (
287
mailing_list_id INTEGER,
289
delivery_mode INTEGER,
291
CONSTRAINT onelastdigest_mailing_list_id_fk
292
FOREIGN KEY (mailing_list_id) REFERENCES mailinglist(id),
293
CONSTRAINT onelastdigest_address_id_fk
294
FOREIGN KEY (address_id) REFERENCES address(id)
297
CREATE TABLE pended (
300
expiration_date TIMESTAMP,
304
CREATE TABLE pendedkeyvalue (
311
-- XXX: config.db_reset() triggers IntegrityError
312
-- CONSTRAINT pendedkeyvalue_pended_id_fk
313
-- FOREIGN KEY (pended_id) REFERENCES pended (id)
316
CREATE TABLE version (
323
CREATE INDEX ix__request_mailing_list_id ON _request (mailing_list_id);
324
CREATE INDEX ix_address_preferences_id ON address (preferences_id);
325
CREATE INDEX ix_address_user_id ON address (user_id);
326
CREATE INDEX ix_pendedkeyvalue_pended_id ON pendedkeyvalue (pended_id);
327
CREATE INDEX ix_user_preferences_id ON "user" (preferences_id);
337
-- Keep track of all assigned unique ids to prevent re-use.
342
CREATE INDEX ix_uid_uid ON uid (uid);