21 lines
1.1 KiB
MySQL
21 lines
1.1 KiB
MySQL
|
|
-- Migration 019: Opportunity comment attachments
|
||
|
|
-- Captures uploaded files that belong to a pipeline comment thread
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS pipeline_opportunity_comment_attachments (
|
||
|
|
id SERIAL PRIMARY KEY,
|
||
|
|
opportunity_id INTEGER NOT NULL REFERENCES pipeline_opportunities(id) ON DELETE CASCADE,
|
||
|
|
comment_id INTEGER NOT NULL REFERENCES pipeline_opportunity_comments(id) ON DELETE CASCADE,
|
||
|
|
filename VARCHAR(255) NOT NULL,
|
||
|
|
content_type VARCHAR(100),
|
||
|
|
size_bytes INTEGER,
|
||
|
|
stored_name TEXT NOT NULL,
|
||
|
|
uploaded_by_user_id INTEGER,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
FOREIGN KEY (uploaded_by_user_id) REFERENCES users(user_id) ON DELETE SET NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_pipeline_comment_attachments_comment_id ON pipeline_opportunity_comment_attachments(comment_id);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_pipeline_comment_attachments_opportunity_id ON pipeline_opportunity_comment_attachments(opportunity_id);
|
||
|
|
|
||
|
|
COMMENT ON TABLE pipeline_opportunity_comment_attachments IS 'User uploaded files stored alongside pipeline opportunity comments';
|