-- Migration: Create backoffice support tables -- Description: Tags for job categorization and login audit logs CREATE TABLE IF NOT EXISTS job_tags ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, category VARCHAR(30) NOT NULL CHECK (category IN ('area', 'level', 'stack')), active BOOLEAN DEFAULT true, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX IF NOT EXISTS idx_job_tags_category ON job_tags(category); CREATE INDEX IF NOT EXISTS idx_job_tags_active ON job_tags(active); CREATE TABLE IF NOT EXISTS login_audit ( id SERIAL PRIMARY KEY, user_id VARCHAR(36) NOT NULL, identifier VARCHAR(255) NOT NULL, roles TEXT NOT NULL, ip_address VARCHAR(45), user_agent TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX IF NOT EXISTS idx_login_audit_user_id ON login_audit(user_id); CREATE INDEX IF NOT EXISTS idx_login_audit_created_at ON login_audit(created_at DESC);