inou/migrations/001_prompt_to_tracker.sql

46 lines
1.4 KiB
SQL

-- Migration: Rename prompts to trackers and add entry metadata
-- Date: 2026-02-09
-- Description: Rename "prompt" concept to "tracker" and make entries self-contained
-- Drop old prompts table (test data only, safe to drop)
DROP TABLE IF EXISTS prompts;
-- Create new trackers table (renamed from prompts)
CREATE TABLE trackers (
tracker_id TEXT PRIMARY KEY,
dossier_id TEXT NOT NULL,
category TEXT,
type TEXT,
question TEXT,
frequency TEXT,
time_of_day TEXT,
next_ask INTEGER,
expires_at INTEGER,
input_type TEXT,
input_config TEXT,
group_name TEXT,
trigger_entry TEXT,
created_by TEXT,
last_response TEXT,
last_response_raw TEXT,
last_response_at INTEGER,
dismissed INTEGER DEFAULT 0,
active INTEGER DEFAULT 1,
created_at INTEGER,
updated_at INTEGER,
open INTEGER DEFAULT 0,
source_input TEXT,
schedule TEXT
);
CREATE INDEX idx_trackers_dossier ON trackers(dossier_id);
CREATE INDEX idx_trackers_dossier_active ON trackers(dossier_id, active, next_ask);
-- Update entries table to be self-contained
-- Add columns for storing tracker metadata snapshot
ALTER TABLE entries ADD COLUMN tracker_question TEXT DEFAULT '';
ALTER TABLE entries ADD COLUMN tracker_fields TEXT DEFAULT ''; -- JSON: field definitions
ALTER TABLE entries ADD COLUMN tracker_layout TEXT DEFAULT ''; -- layout type
-- Note: search_key is now optional - entries can be standalone or linked to tracker