23 lines
905 B
SQL
23 lines
905 B
SQL
-- Admin console support: manual edit provenance + audit log.
|
|
|
|
-- Manual-entry source used to record field-level provenance for operator edits.
|
|
INSERT INTO source (name, homepage, license, trust_weight, notes)
|
|
VALUES ('manual', NULL, 'proprietary', 0.90, '运营人工录入/补全')
|
|
ON CONFLICT (name) DO NOTHING;
|
|
|
|
-- Audit trail: every admin write records actor, action, entity and before/after.
|
|
CREATE TABLE IF NOT EXISTS audit_log (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
actor TEXT NOT NULL,
|
|
action TEXT NOT NULL,
|
|
entity TEXT NOT NULL,
|
|
entity_id UUID,
|
|
fields TEXT[] NOT NULL DEFAULT '{}',
|
|
before JSONB,
|
|
after JSONB,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_audit_entity ON audit_log (entity, entity_id);
|
|
CREATE INDEX IF NOT EXISTS idx_audit_created ON audit_log (created_at DESC);
|