1PRAGMA foreign_keys = ON;23CREATE TABLE contents (4 content_id TEXT PRIMARY KEY,5 mode TEXT NOT NULL CHECK (mode IN ('open', 'locked')),6 object_key TEXT NOT NULL UNIQUE,7 encoding TEXT NOT NULL,8 size_bytes INTEGER NOT NULL CHECK (size_bytes >= 0),9 created_at INTEGER NOT NULL10) WITHOUT ROWID;1112CREATE TABLE aliases (13 alias_id TEXT PRIMARY KEY,14 content_id TEXT NOT NULL REFERENCES contents(content_id),15 render_id TEXT NOT NULL,16 revision INTEGER NOT NULL DEFAULT 1 CHECK (revision > 0),17 mode TEXT NOT NULL CHECK (mode IN ('open', 'locked')),18 title TEXT,19 description TEXT,20 encrypted_metadata TEXT,21 key_envelope TEXT,22 write_key_hash BLOB NOT NULL CHECK (length(write_key_hash) = 32),23 created_at INTEGER NOT NULL,24 updated_at INTEGER NOT NULL,25 CHECK (26 (mode = 'open' AND encrypted_metadata IS NULL AND key_envelope IS NULL)27 OR28 (mode = 'locked' AND title IS NULL AND description IS NULL29 AND encrypted_metadata IS NOT NULL AND key_envelope IS NOT NULL)30 )31) WITHOUT ROWID;3233CREATE INDEX aliases_by_content ON aliases(content_id);34CREATE INDEX aliases_by_render ON aliases(render_id);