27 lines
1,005 B
SQL
27 lines
1,005 B
SQL
-- 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);
|