File size: 1,678 Bytes
2318718
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
-- Supabase 持久化镜像表(对齐本地 SQLite 列名/类型;时间统一用 text 以零转换 upsert)
-- 由糯米酱接入:HF 易失存储 -> 数据沉淀到 Supabase。

create table if not exists app_settings (
  key text primary key,
  value text not null,
  updated_at text
);

create table if not exists mailboxes (
  id text primary key,
  email text not null,
  prefix text,
  display_name text,
  account_id text,
  status text,
  openclaw_status text,
  install_command text,
  auth_url text,
  comm_level integer,
  ext_receive_type integer,
  ext_send_type integer,
  created_at text,
  updated_at text
);

create table if not exists mails (
  id bigint primary key,
  provider_mail_id text not null,
  mailbox_email text not null,
  source text,
  address text,
  subject text,
  text text,
  html text,
  raw_json text,
  header_raw text,
  has_attachments integer default 0,
  received_at text,
  created_at text,
  unique (mailbox_email, provider_mail_id)
);

create index if not exists idx_mails_mailbox_email on mails (mailbox_email);

create table if not exists attachments (
  id bigint primary key,
  mail_id bigint not null,
  provider_part_id text,
  filename text,
  content_type text,
  size integer,
  created_at text
);

create index if not exists idx_attachments_mail_id on attachments (mail_id);

-- 启用 RLS 且不建任何 policy:anon/publishable key 一律被拒,
-- 仅 service/secret key(绕 RLS)可读写。凭据安全。
alter table app_settings enable row level security;
alter table mailboxes enable row level security;
alter table mails enable row level security;
alter table attachments enable row level security;