CREATE VIRTUAL TABLE IF NOT EXISTS media_fts USING fts5 ( title, artist, album, genre, description, file_name, content = 'media_items', content_rowid = 'rowid' ); CREATE TRIGGER IF NOT EXISTS media_fts_insert AFTER INSERT ON media_items BEGIN INSERT INTO media_fts ( rowid, title, artist, album, genre, description, file_name ) VALUES ( new.rowid, new.title, new.artist, new.album, new.genre, new.description, new.file_name ); END; CREATE TRIGGER IF NOT EXISTS media_fts_update AFTER UPDATE ON media_items BEGIN INSERT INTO media_fts ( media_fts, rowid, title, artist, album, genre, description, file_name ) VALUES ( 'delete', old.rowid, old.title, old.artist, old.album, old.genre, old.description, old.file_name ); INSERT INTO media_fts ( rowid, title, artist, album, genre, description, file_name ) VALUES ( new.rowid, new.title, new.artist, new.album, new.genre, new.description, new.file_name ); END; CREATE TRIGGER IF NOT EXISTS media_fts_delete AFTER DELETE ON media_items BEGIN INSERT INTO media_fts ( media_fts, rowid, title, artist, album, genre, description, file_name ) VALUES ( 'delete', old.rowid, old.title, old.artist, old.album, old.genre, old.description, old.file_name ); END;