feat: duplicate link action, watcher migration, fulltext search migration

- CreateTicketView: "Link as duplicate" button on each duplicate result;
  stores chosen ticket ID in hidden field, auto-creates duplicates dependency
  after ticket is saved (TicketController)
- migrations/004: ticket_watchers table (ticket_id, user_id primary key)
- migrations/005: FULLTEXT index on tickets(title, description) for fast
  relevance search replacing LIKE scan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-29 21:54:00 -04:00
parent c8181e8076
commit 0acf5e84c3
4 changed files with 46 additions and 1 deletions
+6
View File
@@ -0,0 +1,6 @@
-- Migration: Add FULLTEXT index on ticket title and description
-- Replaces LIKE '%term%' with MATCH ... AGAINST for dramatically better search
-- performance and relevance ranking at scale.
-- MyISAM not needed — InnoDB supports FULLTEXT since MySQL 5.6.
ALTER TABLE tickets ADD FULLTEXT INDEX ft_title_description (title, description);