17 lines
608 B
SQL
17 lines
608 B
SQL
/* Migration SQLite V6 vers V7 : traçabilité des extractions. */
|
|
CREATE TABLE IF NOT EXISTS extractions
|
|
(
|
|
id TEXT PRIMARY KEY,
|
|
evidence_id TEXT,
|
|
source_kind TEXT NOT NULL,
|
|
source_id TEXT NOT NULL,
|
|
tool_id TEXT NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
FOREIGN KEY (evidence_id) REFERENCES preuves(id) ON DELETE CASCADE,
|
|
CHECK (source_kind IN ('evidence', 'entity')),
|
|
CHECK (length(trim(source_id)) > 0),
|
|
CHECK (length(trim(tool_id)) > 0),
|
|
CHECK (length(created_at) = 20)
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_extractions_source
|
|
ON extractions(source_kind, source_id);
|