Files
gamercomp/backend/scripts/migrations/004_audit_logs.sql
T
2026-04-30 02:14:25 +00:00

25 lines
977 B
SQL

-- Migration 004: Admin Audit Logs
-- Tracks all admin actions for accountability and auditing
-- Create audit_logs table
CREATE TABLE IF NOT EXISTS audit_logs (
id SERIAL PRIMARY KEY,
admin_id INTEGER NOT NULL REFERENCES users(id),
action VARCHAR(100) NOT NULL,
target_type VARCHAR(50) NOT NULL, -- 'game', 'user', 'report'
target_id INTEGER NOT NULL,
details JSONB,
ip_address VARCHAR(45), -- Supports IPv6
created_at TIMESTAMP DEFAULT NOW()
);
-- Create indexes for common queries
CREATE INDEX IF NOT EXISTS idx_audit_logs_admin_id ON audit_logs(admin_id);
CREATE INDEX IF NOT EXISTS idx_audit_logs_target ON audit_logs(target_type, target_id);
CREATE INDEX IF NOT EXISTS idx_audit_logs_created_at ON audit_logs(created_at DESC);
CREATE INDEX IF NOT EXISTS idx_audit_logs_action ON audit_logs(action);
-- Grant permissions
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO gamearc;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO gamearc;