48 |
create table sent ( |
create table sent ( |
49 |
message_id int not null references messages(id) on update cascade on delete cascade, |
message_id int not null references messages(id) on update cascade on delete cascade, |
50 |
user_id int not null references users(id) on update cascade on delete cascade, |
user_id int not null references users(id) on update cascade on delete cascade, |
51 |
|
hash text not null, |
52 |
date timestamp not null default now(), |
date timestamp not null default now(), |
53 |
primary key(message_id, user_id) |
primary key(message_id, user_id) |
54 |
); |
); |
55 |
|
|
56 |
|
create unique index sent_hash_ind on sent(hash); |
57 |
|
|
58 |
create table received ( |
create table received ( |
59 |
id serial, |
id serial, |
60 |
user_id int not null references users(id) on update cascade on delete cascade, |
user_id int not null references users(id), |
61 |
|
list_id int not null references lists(id), |
62 |
|
message_id int references messages(id), |
63 |
message text not null, |
message text not null, |
64 |
bounced boolean not null default false, |
bounced boolean not null default false, |
65 |
date timestamp not null default now(), |
date timestamp not null default now(), |
66 |
primary key (id) |
primary key (id) |
67 |
); |
); |
68 |
|
|
69 |
|
create index received_user_id_int on received(user_id); |
70 |
|
create index received_list_id_int on received(list_id); |
71 |
|
|
72 |
|
|
73 |
insert into users (email, full_name) values ('dpavlin@rot13.org', 'DbP'); |
insert into users (email, full_name) values ('dpavlin@rot13.org', 'DbP'); |
74 |
insert into users (email, full_name) values ('dpavlin@gmail.com', 'DbP'); |
insert into users (email, full_name) values ('dpavlin@gmail.com', 'DbP'); |