-- migrate:up PRAGMA foreign_keys = ON; CREATE TABLE roasters ( id TEXT PRIMARY KEY, name TEXT NOT NULL, country TEXT NOT NULL, city TEXT, homepage TEXT, notes TEXT, created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) ); CREATE TABLE roasts ( id TEXT PRIMARY KEY, roaster_id TEXT NOT NULL REFERENCES roasters(id) ON DELETE CASCADE, name TEXT NOT NULL, origin TEXT, region TEXT, producer TEXT, process TEXT, tasting_notes TEXT, created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) ); CREATE INDEX idx_roasts_roaster_id ON roasts(roaster_id); CREATE TABLE timeline_events ( id TEXT PRIMARY KEY, entity_type TEXT NOT NULL CHECK (entity_type IN ('roaster', 'roast')), entity_id TEXT NOT NULL, occurred_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')), title TEXT NOT NULL, details_json TEXT, tasting_notes_json TEXT ); CREATE INDEX idx_timeline_events_entity ON timeline_events(entity_type, entity_id); CREATE INDEX idx_timeline_events_occurred_at ON timeline_events(occurred_at);