18 lines
798 B
MySQL
18 lines
798 B
MySQL
|
|
-- KB spine: vector extension + frozen envelope schema
|
||
|
|
-- Additive: new columns may be added but existing ones must not be removed or renamed.
|
||
|
|
-- Version: 001 — initial
|
||
|
|
|
||
|
|
CREATE EXTENSION IF NOT EXISTS vector;
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS envelope (
|
||
|
|
id TEXT PRIMARY KEY,
|
||
|
|
source TEXT NOT NULL, -- fastmail | gmail | ...
|
||
|
|
ts TIMESTAMPTZ NOT NULL, -- message date, UTC
|
||
|
|
geo JSONB, -- null for mails; filled by layer-3 enrich
|
||
|
|
raw_ref TEXT NOT NULL, -- relative path to .eml in archive
|
||
|
|
entities JSONB NOT NULL DEFAULT '[]'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS envelope_source_idx ON envelope (source);
|
||
|
|
CREATE INDEX IF NOT EXISTS envelope_ts_idx ON envelope (ts);
|