/[notice-sender]/trunk/schema.sql
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/schema.sql

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 17 by dpavlin, Sun May 15 16:32:36 2005 UTC revision 45 by dpavlin, Wed May 18 13:12:54 2005 UTC
# Line 1  Line 1 
1  create table users (  create table users (
2          id      serial,          id      serial,
3          email   text not null,          email   text not null,
4          full_name text not null,          name    text default '',
5          date    timestamp not null default now(),          date    timestamp not null default now(),
6          active  boolean not null default true,          active  boolean not null default true,
7          bounce_count int not null default 0,          bounce_count int not null default 0,
# Line 9  create table users ( Line 9  create table users (
9          primary key(id)          primary key(id)
10  );  );
11    
12    create unique index users_email_ind on users(email);
13    
14  create table lists (  create table lists (
15          id      serial,          id      serial,
16          name    text not null,          name    text not null,
# Line 18  create table lists ( Line 20  create table lists (
20          primary key(id)          primary key(id)
21  );  );
22    
23  create index lists_name_ind on lists(name);  create unique index lists_name_ind on lists(name);
24    create unique index lists_email_ind on lists(email);
25    
26  create table user_list (  create table user_list (
27          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,
# Line 34  create table messages ( Line 37  create table messages (
37          primary key(id)          primary key(id)
38  );  );
39    
 create index messages_md5_ind on messages(md5);  
   
40  create table queue (  create table queue (
41          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,
42          list_id int not null references lists(id) on update cascade on delete cascade,          list_id int not null references lists(id) on update cascade on delete cascade,
# Line 47  create table queue ( Line 48  create table queue (
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, name) values ('dpavlin@rot13.org', 'DbP');
74  insert into users (email, full_name) values ('dpavlin@gmail.com', 'DbP');  insert into users (email, name) values ('dpavlin@gmail.com', 'DbP');
75  insert into users (email, full_name) values ('xxx_doesnt_exist_xxx@gmail.com', 'fake');  insert into users (email, name) values ('xxx_doesnt_exist_xxx@gmail.com', 'fake');
76    
77  insert into lists (name, email) values ('Just me','my-alter-ego@rot13.org');  insert into lists (name, email) values ('Just me','my-alter-ego@rot13.org');
78  insert into lists (name, email) values ('All users','announce@example.com');  insert into lists (name, email) values ('All users','announce@example.com');

Legend:
Removed from v.17  
changed lines
  Added in v.45

  ViewVC Help
Powered by ViewVC 1.1.26