-- id 就是实时协议的 version,必须单调递增、不重用,所以用 AUTOINCREMENT。 CREATE TABLE IF NOT EXISTS change_log ( id INTEGER PRIMARY KEY AUTOINCREMENT, entity_type TEXT NOT NULL, entity_id INTEGER, action TEXT NOT NULL CHECK (action IN ('upsert', 'void', 'replace')), payload_json TEXT NOT NULL DEFAULT '{}', -- actor_id 指向系统库 users,跨库不能建外键。 actor_id INTEGER, created_at TEXT NOT NULL DEFAULT (datetime('now')) ); CREATE INDEX IF NOT EXISTS idx_change_log_entity ON change_log(entity_type, entity_id);