24 lines
733 B
SQL
Executable file
24 lines
733 B
SQL
Executable file
-- Migration: Create favorite_jobs table
|
|
-- Description: Users can save favorite jobs for later
|
|
|
|
CREATE TABLE IF NOT EXISTS favorite_jobs (
|
|
id SERIAL PRIMARY KEY,
|
|
user_id UUID NOT NULL,
|
|
job_id UUID NOT NULL,
|
|
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
-- Foreign keys
|
|
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (job_id) REFERENCES jobs(id) ON DELETE CASCADE,
|
|
|
|
-- Ensure user can't favorite same job twice
|
|
UNIQUE(user_id, job_id)
|
|
);
|
|
|
|
-- Indexes
|
|
CREATE INDEX idx_favorite_jobs_user ON favorite_jobs(user_id);
|
|
CREATE INDEX idx_favorite_jobs_job ON favorite_jobs(job_id);
|
|
|
|
-- Comments
|
|
COMMENT ON TABLE favorite_jobs IS 'Saved/favorited jobs by users';
|