the tables, provisioned once

CREATE TABLE IF NOT EXISTS visits_salt (day TEXT PRIMARY KEY, salt TEXT NOT NULL);
CREATE TABLE IF NOT EXISTS visits_caller (day TEXT NOT NULL, caller TEXT NOT NULL, visit TEXT NOT NULL, last INTEGER NOT NULL, PRIMARY KEY (day, caller));
CREATE TABLE IF NOT EXISTS visits_visit (id TEXT PRIMARY KEY, site TEXT NOT NULL, day TEXT NOT NULL, started INTEGER NOT NULL, last INTEGER NOT NULL, pages INTEGER NOT NULL, referrer TEXT, source TEXT, country TEXT, viewport TEXT, probe INTEGER NOT NULL, staff INTEGER NOT NULL);
CREATE INDEX IF NOT EXISTS visits_visit_day ON visits_visit (site, day);
CREATE TABLE IF NOT EXISTS visits_page (span_id TEXT PRIMARY KEY, trace_id TEXT NOT NULL, visit TEXT NOT NULL, seq INTEGER NOT NULL, site TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, host TEXT NOT NULL, path TEXT NOT NULL, place TEXT, route TEXT, nav TEXT NOT NULL, from_path TEXT, build TEXT, dur_ms REAL, reached TEXT, ttfb_ms REAL, lcp_ms REAL, inp_ms REAL, cls REAL, owner TEXT, self INTEGER NOT NULL DEFAULT 0);
CREATE INDEX IF NOT EXISTS visits_page_visit ON visits_page (visit, seq);
CREATE INDEX IF NOT EXISTS visits_page_trace ON visits_page (trace_id);
CREATE INDEX IF NOT EXISTS visits_page_day ON visits_page (site, day);
CREATE INDEX IF NOT EXISTS visits_page_owner ON visits_page (site, owner, day);
CREATE TABLE IF NOT EXISTS visits_event (id INTEGER PRIMARY KEY, visit TEXT NOT NULL, trace_id TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, line TEXT NOT NULL);
CREATE INDEX IF NOT EXISTS visits_event_visit ON visits_event (visit, id);
CREATE INDEX IF NOT EXISTS visits_event_day ON visits_event (day);
CREATE TABLE IF NOT EXISTS visits_views (site TEXT NOT NULL, day TEXT NOT NULL, host TEXT NOT NULL, path TEXT NOT NULL, views INTEGER NOT NULL, PRIMARY KEY (site, day, host, path));
CREATE TABLE IF NOT EXISTS visits_owner_views (site TEXT NOT NULL, owner TEXT NOT NULL, day TEXT NOT NULL, views INTEGER NOT NULL, PRIMARY KEY (site, owner, day));
CREATE TABLE IF NOT EXISTS visits_hit (id INTEGER PRIMARY KEY, site TEXT NOT NULL, day TEXT NOT NULL, at INTEGER NOT NULL, owner TEXT NOT NULL, name TEXT NOT NULL, opened TEXT, referrer TEXT, country TEXT, caller TEXT NOT NULL, crawler INTEGER NOT NULL, self INTEGER NOT NULL);
CREATE INDEX IF NOT EXISTS visits_hit_owner ON visits_hit (site, owner, day);
CREATE INDEX IF NOT EXISTS visits_hit_caller ON visits_hit (day, caller);
CREATE TABLE IF NOT EXISTS visits_owner_hits (site TEXT NOT NULL, owner TEXT NOT NULL, day TEXT NOT NULL, name TEXT NOT NULL, opened TEXT NOT NULL, hits INTEGER NOT NULL, PRIMARY KEY (site, owner, day, name, opened));