20 lines
792 B
MySQL
20 lines
792 B
MySQL
|
|
-- Migration: Add comment threading support
|
||
|
|
-- Adds parent_comment_id for reply/thread functionality
|
||
|
|
|
||
|
|
-- Add parent_comment_id column for threaded comments
|
||
|
|
ALTER TABLE ticket_comments
|
||
|
|
ADD COLUMN parent_comment_id INT NULL DEFAULT NULL AFTER comment_id;
|
||
|
|
|
||
|
|
-- Add foreign key constraint (self-referencing for thread hierarchy)
|
||
|
|
ALTER TABLE ticket_comments
|
||
|
|
ADD CONSTRAINT fk_parent_comment
|
||
|
|
FOREIGN KEY (parent_comment_id) REFERENCES ticket_comments(comment_id)
|
||
|
|
ON DELETE CASCADE;
|
||
|
|
|
||
|
|
-- Add index for efficient thread retrieval
|
||
|
|
CREATE INDEX idx_parent_comment ON ticket_comments(parent_comment_id);
|
||
|
|
|
||
|
|
-- Add thread_depth column to track nesting level (prevents infinite recursion issues)
|
||
|
|
ALTER TABLE ticket_comments
|
||
|
|
ADD COLUMN thread_depth TINYINT UNSIGNED NOT NULL DEFAULT 0 AFTER parent_comment_id;
|