PHP Classes

File: SQL File

Recommend this page to a friend!
  Packages of Matthew Asham   Binkterm PHP   database/migrations/v20260512010000_shared_link_referrals.sql   Download  
File: database/migrations/v20260512010000_shared_link_referrals.sql
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Binkterm PHP
Bulletin board system based on the Web
Author: By
Last change:
Date: 1 month ago
Size: 1,442 bytes
 

Contents

Class file image Download
-- Migration: v20260512010000 - Track external referrers for shared links CREATE TABLE IF NOT EXISTS shared_link_referrals ( id SERIAL PRIMARY KEY, share_type VARCHAR(16) NOT NULL, share_id INTEGER NOT NULL, referrer_url TEXT NOT NULL, referrer_host VARCHAR(255) DEFAULT NULL, access_count INTEGER NOT NULL DEFAULT 1, first_seen_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), last_seen_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), CONSTRAINT chk_shared_link_referrals_type CHECK (share_type IN ('message', 'file')), CONSTRAINT uq_shared_link_referrals_share_referrer UNIQUE (share_type, share_id, referrer_url) ); CREATE INDEX IF NOT EXISTS idx_shared_link_referrals_share ON shared_link_referrals (share_type, share_id); CREATE INDEX IF NOT EXISTS idx_shared_link_referrals_host ON shared_link_referrals (share_type, referrer_host); COMMENT ON TABLE shared_link_referrals IS 'Aggregated external referrer counts for shared message and file links'; COMMENT ON COLUMN shared_link_referrals.share_type IS 'Shared link type: message or file'; COMMENT ON COLUMN shared_link_referrals.share_id IS 'Primary key from shared_messages or shared_files depending on share_type'; COMMENT ON COLUMN shared_link_referrals.referrer_url IS 'Normalized external referrer URL without fragment'; COMMENT ON COLUMN shared_link_referrals.referrer_host IS 'Lowercased referrer hostname for rollups/filtering';