likeopera-backend/db.sql

46 lines
1.5 KiB
SQL

create table accounts (
id serial not null primary key,
name varchar(255) not null,
email varchar(255) not null,
settings jsonb not null
-- настройки: replyto, cc, bcc, in_server, in_port, out_server, out_port, login, password
-- sent_folder, trash_folder, spam_folder, drafts_folder
-- in_server varchar(255) not null,
-- out_server varchar(255) not null,
-- reply_to
);
create unique index accounts_email on accounts (email);
create table folders (
id serial not null primary key,
uidvalidity int not null,
account_id int not null,
name varchar(255) not null,
unread_count int not null,
foreign key (account_id) references accounts (id) on delete cascade on update cascade
);
create unique index folders_name on folders (name);
create table messages (
id serial not null primary key,
folder_id int not null,
uid int not null,
messageid varchar(1000) not null,
inreplyto varchar(1000) not null,
subject text not null,
from_email varchar(255) not null,
from_name varchar(255) not null,
replyto_email varchar(255) not null,
replyto_name varchar(255) not null,
to_list text not null,
cc_list text not null,
bcc_list text not null,
headers text not null,
body text not null,
time timestamptz not null,
flags smallint not null,
foreign key (folder_id) references folders (id) on delete cascade on update cascade
);
create unique index messages_unique on messages (folder_id, uid);
create index messages_messageid on messages (messageid);