27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
CREATE TABLE IF NOT EXISTS department_requests (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
request_code VARCHAR(32) NOT NULL,
|
|
department VARCHAR(80) NOT NULL,
|
|
request_type VARCHAR(80) NOT NULL,
|
|
title VARCHAR(140) NOT NULL,
|
|
amount DECIMAL(12,2) DEFAULT NULL,
|
|
priority VARCHAR(20) NOT NULL DEFAULT 'Standard',
|
|
needed_by DATE DEFAULT NULL,
|
|
justification TEXT NOT NULL,
|
|
requester_name VARCHAR(120) NOT NULL,
|
|
requester_email VARCHAR(150) NOT NULL,
|
|
status VARCHAR(40) NOT NULL DEFAULT 'Pending Level 1',
|
|
current_stage TINYINT UNSIGNED NOT NULL DEFAULT 1,
|
|
final_stage TINYINT UNSIGNED NOT NULL DEFAULT 3,
|
|
last_comment TEXT DEFAULT NULL,
|
|
audit_trail LONGTEXT NOT NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uniq_request_code (request_code),
|
|
KEY idx_requester_email (requester_email),
|
|
KEY idx_department (department),
|
|
KEY idx_status_stage (status, current_stage),
|
|
KEY idx_updated_at (updated_at)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|