Mark.sq (797B)
1 CREATE TABLE mark ( 2 id TEXT NOT NULL PRIMARY KEY, 3 file_id TEXT NOT NULL, 4 position_ms INTEGER NOT NULL, 5 label TEXT, 6 color TEXT NOT NULL DEFAULT "#FF6B35", 7 created_at INTEGER NOT NULL, 8 FOREIGN KEY(file_id) REFERENCES audio_file(id) ON DELETE CASCADE 9 ); 10 11 count_by_file: 12 SELECT file_id, COUNT(*) AS mark_count FROM mark GROUP BY file_id; 13 14 select_by_file: 15 SELECT id, file_id, position_ms, label, created_at FROM mark WHERE file_id = ? ORDER BY position_ms ASC; 16 17 insert: 18 INSERT INTO mark(id, file_id, position_ms, label, created_at) 19 VALUES (?, ?, ?, ?, ?); 20 21 update_label: 22 UPDATE mark SET label = ? WHERE id = ?; 23 24 update_position: 25 UPDATE mark SET position_ms = ? WHERE id = ?; 26 27 delete_by_id: 28 DELETE FROM mark WHERE id = ?; 29 30 delete_by_file: 31 DELETE FROM mark WHERE file_id = ?;