···251251 cursor_us INTEGER
252252 );
253253 INSERT OR IGNORE INTO _cursor (id, cursor_us) VALUES (1, NULL);
254254+255255+ -- layers.pub records
256256+ CREATE TABLE IF NOT EXISTS layers_expressions (
257257+ uri TEXT PRIMARY KEY,
258258+ rkey TEXT NOT NULL,
259259+ did TEXT NOT NULL,
260260+ transcript_uri TEXT NOT NULL,
261261+ text TEXT NOT NULL,
262262+ language TEXT NOT NULL DEFAULT 'en',
263263+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
264264+ );
265265+ CREATE INDEX IF NOT EXISTS idx_layers_expr_transcript ON layers_expressions(transcript_uri);
266266+267267+ CREATE TABLE IF NOT EXISTS layers_segmentations (
268268+ uri TEXT PRIMARY KEY,
269269+ rkey TEXT NOT NULL,
270270+ did TEXT NOT NULL,
271271+ expression_uri TEXT NOT NULL,
272272+ tokens_json TEXT NOT NULL,
273273+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
274274+ );
275275+ CREATE INDEX IF NOT EXISTS idx_layers_seg_expression ON layers_segmentations(expression_uri);
276276+277277+ CREATE TABLE IF NOT EXISTS layers_annotations (
278278+ uri TEXT PRIMARY KEY,
279279+ rkey TEXT NOT NULL,
280280+ did TEXT NOT NULL,
281281+ expression_uri TEXT NOT NULL,
282282+ kind TEXT NOT NULL,
283283+ subkind TEXT NOT NULL,
284284+ annotations_json TEXT NOT NULL,
285285+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
286286+ );
287287+ CREATE INDEX IF NOT EXISTS idx_layers_ann_expression ON layers_annotations(expression_uri);
254288 `);
255289}
256290