Initial commit
[clearscm.git] / maps / bin / MAPSDB.sql
1 -------------------------------------------------------------------------------
2 --
3 -- File:        $RCSFile$
4 -- Revision:    $Revision: 1.1 $
5 -- Description: This file creates the MAPS database.
6 -- Author:      Andrew@DeFaria.com
7 -- Created:     Tue May 13 13:28:18 PDT 2003
8 -- Modified:    $Date: 2013/06/12 14:05:47 $
9 -- Language:    SQL
10 --
11 -- Copyright (c) 2000-2006, Andrew@DeFaria.com, all rights reserved
12 --
13 -------------------------------------------------------------------------------
14 -- Warning: The following line will delete the old database!
15 drop database if exists MAPS;
16
17 -- Create a new database
18 create database MAPS;
19
20 -- Now let's focus on this new database
21 use MAPS;
22
23 -- user: Valid users and their passwords are contained here
24 create table user (
25   userid                        varchar (128)   not null,
26   name                          tinytext        not null,
27   email                         varchar (128)   not null,
28   password                      tinytext        not null,
29   primary key (userid)
30 ) type=innodb; -- user
31
32 -- useropts: User's options are stored here
33 create table useropts (
34   userid                        varchar (128)   not null,
35   name                          tinytext,
36   value                         varchar (128),
37   key user_index (userid),
38   foreign key (userid) references user (userid) on delete cascade
39 ) type=innodb; -- useropts
40
41 -- email: Table that holds the email
42 create table email (
43   userid                        varchar (128)   not null,
44   sender                        varchar (128)   not null,
45   subject                       varchar (255),
46   timestamp                     datetime,
47   data                          longblob,
48   key user_index (userid),
49   foreign key (userid) references user (userid) on delete cascade,
50   key sender_index (sender)
51 ) type=innodb; -- email
52
53 -- whitelist: Table holds the users' whitelists
54 create table list (
55   userid                        varchar (128)   not null,
56   type                          enum ("white", "black", "null") not null,
57   pattern                       varchar (128),
58   domain                        varchar (128),
59   comment                       varchar (128),
60   sequence                      smallint,
61   hit_count                     integer,
62   last_hit                      datetime,
63   key user_index (userid),
64   key user_listtype (userid, type),
65   unique (userid, type, sequence),
66   foreign key (userid) references user (userid) on delete cascade
67 ) type=innodb; -- list
68
69 -- log: Table to hold log information
70 create table log (
71   userid                        varchar (128)   not null,
72   timestamp                     datetime,
73   sender                        varchar (128),
74   type                          enum (
75     "blacklist",
76     "debug",
77     "error",
78     "info",
79     "mailloop",
80     "nulllist",
81     "registered",
82     "returned",
83     "whitelist"
84   ) not null,
85   message                       varchar (255)   not null,
86   key user_index (userid),
87   foreign key (userid) references user (userid) on delete cascade
88 ) type=innodb; -- log
89
90 -- Create users
91 --grant all privileges 
92 --  on MAPS.* to mapsadmin@"%"  identified by "mapsadmin";
93 --grant select
94 --  on MAPS.* to mapsreader@"%" identified by "reader";
95 --grant insert, select, update, delete
96 --  on MAPS.* to mapswriter@"%" identified by "writer";