-- Migration: Remove unused fingerprint columns and tables -- Date: 2025-01-13 -- Description: Removes evolution history, trust score, rotation policy and related unused columns -- Drop unused table DROP TABLE IF EXISTS fingerprint_rotation_history; -- Drop unused view DROP VIEW IF EXISTS v_account_fingerprints; -- Create temporary table with desired schema CREATE TABLE browser_fingerprints_new ( id TEXT PRIMARY KEY, canvas_noise_config TEXT, webrtc_config TEXT, fonts TEXT, hardware_config TEXT, navigator_props TEXT, webgl_vendor TEXT, webgl_renderer TEXT, audio_context_config TEXT, timezone TEXT, timezone_offset INTEGER, plugins TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, last_rotated TIMESTAMP, platform_specific TEXT, static_components TEXT, rotation_seed TEXT, account_bound BOOLEAN DEFAULT FALSE ); -- Copy data from old table (excluding unused columns) INSERT INTO browser_fingerprints_new ( id, canvas_noise_config, webrtc_config, fonts, hardware_config, navigator_props, webgl_vendor, webgl_renderer, audio_context_config, timezone, timezone_offset, plugins, created_at, last_rotated, platform_specific, static_components, rotation_seed, account_bound ) SELECT id, canvas_noise_config, webrtc_config, fonts, hardware_config, navigator_props, webgl_vendor, webgl_renderer, audio_context_config, timezone, timezone_offset, plugins, created_at, last_rotated, platform_specific, static_components, rotation_seed, account_bound FROM browser_fingerprints; -- Drop old table DROP TABLE browser_fingerprints; -- Rename new table to original name ALTER TABLE browser_fingerprints_new RENAME TO browser_fingerprints; -- Recreate indexes CREATE INDEX idx_fingerprints_created ON browser_fingerprints(created_at); CREATE INDEX idx_fingerprints_rotated ON browser_fingerprints(last_rotated); CREATE INDEX idx_fingerprints_account_bound ON browser_fingerprints(account_bound);