package storage // migration020 — add title_lower columns to links and actions for case-insensitive search. const migration020 = ` ALTER TABLE links ADD COLUMN title_lower TEXT NOT NULL DEFAULT ''; ALTER TABLE links ADD COLUMN url_lower TEXT NOT NULL DEFAULT ''; ALTER TABLE links ADD COLUMN hostname_lower TEXT NOT NULL DEFAULT ''; ALTER TABLE links ADD COLUMN note_lower TEXT NOT NULL DEFAULT ''; UPDATE links SET title_lower = LOWER(title) WHERE title_lower = ''; UPDATE links SET url_lower = LOWER(url) WHERE url_lower = ''; UPDATE links SET hostname_lower = LOWER(hostname) WHERE hostname_lower = ''; UPDATE links SET note_lower = LOWER(note) WHERE note_lower = ''; CREATE INDEX IF NOT EXISTS idx_links_title_lower ON links(title_lower); CREATE INDEX IF NOT EXISTS idx_links_url_lower ON links(url_lower); CREATE INDEX IF NOT EXISTS idx_links_hostname_lower ON links(hostname_lower); CREATE INDEX IF NOT EXISTS idx_links_note_lower ON links(note_lower); ALTER TABLE actions ADD COLUMN title_lower TEXT NOT NULL DEFAULT ''; ALTER TABLE actions ADD COLUMN kind_lower TEXT NOT NULL DEFAULT ''; ALTER TABLE actions ADD COLUMN url_lower TEXT NOT NULL DEFAULT ''; ALTER TABLE actions ADD COLUMN command_lower TEXT NOT NULL DEFAULT ''; UPDATE actions SET title_lower = LOWER(title) WHERE title_lower = ''; UPDATE actions SET kind_lower = LOWER(kind) WHERE kind_lower = ''; UPDATE actions SET url_lower = LOWER(url) WHERE url_lower = ''; UPDATE actions SET command_lower = LOWER(command) WHERE command_lower = ''; CREATE INDEX IF NOT EXISTS idx_actions_title_lower ON actions(title_lower); CREATE INDEX IF NOT EXISTS idx_actions_kind_lower ON actions(kind_lower); CREATE INDEX IF NOT EXISTS idx_actions_url_lower ON actions(url_lower); CREATE INDEX IF NOT EXISTS idx_actions_command_lower ON actions(command_lower); `