Index: src/config/database.js
===================================================================
--- src/config/database.js	(revision 914eb9fede1ff8c7deceec392018ef477d88dc47)
+++ src/config/database.js	(revision f5c3870ac3f184f2c36420726af8895b46458f19)
@@ -379,4 +379,14 @@
     );
     CREATE INDEX IF NOT EXISTS idx_ap_timeline_slug ON ap_timeline(slug, published);
+    CREATE TABLE IF NOT EXISTS ap_blocks (
+      id INTEGER PRIMARY KEY AUTOINCREMENT,
+      slug TEXT NOT NULL,          -- our site that set the block
+      target TEXT NOT NULL,        -- actor URI (actor block) or domain (domain block)
+      kind TEXT NOT NULL,          -- 'actor' | 'domain'
+      label TEXT,                  -- display (@handle or domain)
+      created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+      UNIQUE(slug, target)
+    );
+    CREATE INDEX IF NOT EXISTS idx_ap_blocks_target ON ap_blocks(target);
   `);
 }
