28,7 → 28,6 |
constraint passwords_prim primary key (id), |
constraint passwords_unique unique(obj, digest) |
); |
create index passwords_obj on passwords (obj); |
|
-- an user is allowed to: |
-- see/use an user if he is the 'boss' or is the same user |
52,7 → 51,6 |
constraint users_login unique(login), |
constraint users_boss foreign key (boss) references users(id) |
); |
create index users_boss on users (boss); |
|
-- login tries. "usr" is set if the user is found only |
create table userlogins |
67,7 → 65,6 |
constraint userlogins_prim primary key (id), |
constraint userlogins_user foreign key (usr) references users(id) |
); |
create index userlogins_usrs on userlogins (usr); |
|
-- default user admin:admin |
insert into users (id, login, superuser) values (1, 'admin', '1'); |
92,7 → 89,6 |
constraint systemusers_name unique(name), |
constraint systemusers_owner foreign key (owner) references users(id) |
); |
create index systemusers_owner on systemusers (owner); |
|
create table domains |
( |
108,7 → 104,6 |
constraint domains_name unique(name), |
constraint domains_owner foreign key (owner) references users(id) |
); |
create index domains_owner on domains (owner); |
|
-- name of mailbox = login + '@' + domain, e.g. user@example.com |
-- if mailbox has no corresponding password entries, then owner's password is used |
133,8 → 128,6 |
constraint mailboxes_owner foreign key (owner) references users(id), |
constraint mailboxes_systemuser foreign key (systemuser) references systemusers(id) |
); |
create index mailboxes_domain on mailboxes (domain); |
create index mailboxes_owner on mailboxes (owner); |
|
-- email address of alias = address + '@' + domain, e.g. user@example.com |
create table mailaliases |
153,8 → 146,6 |
constraint mailaliases_domain foreign key (domain) references domains(id), |
constraint mailaliases_owner foreign key (owner) references users(id) |
); |
create index mailaliases_domain on mailaliases (domain); |
create index mailaliases_owner on mailaliases (owner); |
|
create table mailaliasdests |
( |
172,5 → 163,3 |
constraint mailaliasdests_mailbox foreign key (mailbox) references mailboxes(id), |
constraint mailaliasdests_email check ((email isnull) or (char_length(email) > 0)) |
); |
create index mailaliasdests_alias on mailaliasdests (alias); |
create index mailaliasdests_mailbox on mailaliasdests (mailbox); |