mirror of
https://github.com/DeBrosOfficial/network.git
synced 2026-01-30 08:33:04 +00:00
32 lines
1.1 KiB
SQL
32 lines
1.1 KiB
SQL
-- Migration 008: IPFS Namespace Tracking
|
|
-- This migration adds namespace isolation for IPFS content by tracking CID ownership.
|
|
|
|
-- Table: ipfs_content_ownership
|
|
-- Tracks which namespace owns each CID uploaded to IPFS.
|
|
-- This enables namespace isolation so that:
|
|
-- - Namespace-A cannot GET/PIN/UNPIN Namespace-B's content
|
|
-- - Same CID can be uploaded by different namespaces (shared content)
|
|
CREATE TABLE IF NOT EXISTS ipfs_content_ownership (
|
|
id TEXT PRIMARY KEY,
|
|
cid TEXT NOT NULL,
|
|
namespace TEXT NOT NULL,
|
|
name TEXT,
|
|
size_bytes BIGINT DEFAULT 0,
|
|
is_pinned BOOLEAN DEFAULT FALSE,
|
|
uploaded_at TIMESTAMP NOT NULL,
|
|
uploaded_by TEXT NOT NULL,
|
|
UNIQUE(cid, namespace)
|
|
);
|
|
|
|
-- Index for fast namespace + CID lookup
|
|
CREATE INDEX IF NOT EXISTS idx_ipfs_ownership_namespace_cid
|
|
ON ipfs_content_ownership(namespace, cid);
|
|
|
|
-- Index for fast CID lookup across all namespaces
|
|
CREATE INDEX IF NOT EXISTS idx_ipfs_ownership_cid
|
|
ON ipfs_content_ownership(cid);
|
|
|
|
-- Index for namespace-only queries (list all content for a namespace)
|
|
CREATE INDEX IF NOT EXISTS idx_ipfs_ownership_namespace
|
|
ON ipfs_content_ownership(namespace);
|