Files
Job-hunter/schema.sql
T
2026-05-14 09:46:14 -04:00

42 lines
1.3 KiB
SQL

CREATE DATABASE IF NOT EXISTS job_matcher_db;
USE job_matcher_db;
CREATE TABLE IF NOT EXISTS jobs (
job_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
company VARCHAR(255),
location VARCHAR(255),
posted_date_raw VARCHAR(100),
job_link VARCHAR(512) UNIQUE NOT NULL,
is_actively_hiring BOOLEAN DEFAULT FALSE,
description TEXT DEFAULT NULL,
match_score INT DEFAULT NULL,
match_breakdown JSON DEFAULT NULL,
matched_skills JSON DEFAULT NULL,
missing_skills JSON DEFAULT NULL,
verdict VARCHAR(50) DEFAULT NULL,
detail_fetched_at DATETIME DEFAULT NULL,
scored_at DATETIME DEFAULT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX idx_match_score (match_score),
INDEX idx_verdict (verdict)
);
CREATE TABLE IF NOT EXISTS users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
telegram_token VARCHAR(255) NOT NULL,
telegram_chat_id VARCHAR(50) NOT NULL,
min_match_score INT DEFAULT 70,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS alert_logs (
alert_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
job_id INT NOT NULL,
alerted_at DATETIME DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY unique_user_job (user_id, job_id),
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (job_id) REFERENCES jobs(job_id)
);