/[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 1 by dpavlin, Fri May 13 21:17:58 2005 UTC revision 17 by dpavlin, Sun May 15 16:32:36 2005 UTC
# Line 2  create table users ( Line 2  create table users (
2          id      serial,          id      serial,
3          email   text not null,          email   text not null,
4          full_name text not null,          full_name text not null,
5          date    timestamp default now(),          date    timestamp not null default now(),
6            active  boolean not null default true,
7            bounce_count int not null default 0,
8            ext_id  text,
9          primary key(id)          primary key(id)
10  );  );
11    
12  create table lists (  create table lists (
13          id      serial,          id      serial,
14          name    text not null,          name    text not null,
15          date    timestamp default now(),          email   text not null,
16            bounce_limit int not null default 3,
17            date    timestamp not null default now(),
18          primary key(id)          primary key(id)
19  );  );
20    
21    create index lists_name_ind on lists(name);
22    
23  create table user_list (  create table user_list (
24          user_id int not null references users(id),          user_id int not null references users(id) on update cascade on delete cascade,
25          list_id int not null references lists(id),          list_id int not null references lists(id) on update cascade on delete cascade,
26          date    timestamp default now(),          date    timestamp not null default now(),
27          primary key (user_id, list_id)          primary key (user_id, list_id)
28  );  );
29    
30  create table messages (  create table messages (
31          id      serial,          id      serial,
32          message text not null,          message text not null,
33          date    timestamp default now(),          date    timestamp not null default now(),
34          primary key(id)          primary key(id)
35  );  );
36    
37    create index messages_md5_ind on messages(md5);
38    
39    create table queue (
40            message_id int not null references messages(id) on update cascade on delete cascade,
41            list_id int not null references lists(id) on update cascade on delete cascade,
42            date    timestamp not null default now(),
43            all_sent boolean default false,
44            primary key(message_id, list_id)
45    );
46    
47    create table sent (
48            message_id int not null references messages(id) on update cascade on delete cascade,
49            user_id int not null references users(id) on update cascade on delete cascade,
50            date    timestamp not null default now(),
51            primary key(message_id, user_id)
52    );
53    
54    create table received (
55            id serial,
56            user_id int not null references users(id) on update cascade on delete cascade,
57            message text not null,
58            bounced boolean not null default false,
59            date    timestamp not null default now(),
60            primary key (id)
61    );
62    
63    
64  insert into users (email, full_name) values ('dpavlin@rot13.org', 'DbP');  insert into users (email, full_name) values ('dpavlin@rot13.org', 'DbP');
65  insert into users (email, full_name) values ('dpavlin@gmail.com', 'DbP');  insert into users (email, full_name) values ('dpavlin@gmail.com', 'DbP');
66  insert into users (email, full_name) values ('xxx_doesnt_exist_xxx@gmail.com', 'fake');  insert into users (email, full_name) values ('xxx_doesnt_exist_xxx@gmail.com', 'fake');
67    
68  insert into lists (name) values ('Just me');  insert into lists (name, email) values ('Just me','my-alter-ego@rot13.org');
69  insert into lists (name) values ('All users');  insert into lists (name, email) values ('All users','announce@example.com');
70    
71  insert into user_list (user_id, list_id) select users.id,1 from users limit 1;  insert into user_list (user_id, list_id) select users.id,1 from users limit 1;
72  insert into user_list (user_id, list_id) select users.id,2 from users;  insert into user_list (user_id, list_id) select users.id,2 from users;

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

  ViewVC Help
Powered by ViewVC 1.1.26