27 lines
1.1 KiB
SQL
27 lines
1.1 KiB
SQL
-- Migration: Add Hardware Fingerprint Banning
|
|
-- Adds banned_hardware_fingerprints table and links hw_fingerprint to anon_identities and anon_activity_log.
|
|
|
|
CREATE TABLE IF NOT EXISTS banned_hardware_fingerprints (
|
|
id SERIAL PRIMARY KEY,
|
|
hw_fingerprint VARCHAR(128) UNIQUE NOT NULL,
|
|
banned_by INT REFERENCES "user"(id) ON DELETE SET NULL,
|
|
reason TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
expires_at TIMESTAMPTZ
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_banned_hw_fp ON banned_hardware_fingerprints(hw_fingerprint);
|
|
CREATE INDEX IF NOT EXISTS idx_banned_hw_expires ON banned_hardware_fingerprints(expires_at);
|
|
|
|
-- Add hardware fingerprint column to anon_identities
|
|
ALTER TABLE anon_identities
|
|
ADD COLUMN IF NOT EXISTS hw_fingerprint VARCHAR(128);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_anon_identities_hw ON anon_identities(hw_fingerprint);
|
|
|
|
-- Add hardware fingerprint column to anon_activity_log
|
|
ALTER TABLE anon_activity_log
|
|
ADD COLUMN IF NOT EXISTS hw_fingerprint VARCHAR(128);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_anon_activity_hw ON anon_activity_log(hw_fingerprint);
|