Files
multica/server/migrations/165_attachment_task_id_index.up.sql
Naiyuan Qing 94f9dcaa77 fix(migrations): renumber attachment_task_id to resolve 161/162 prefix collision (#5307)
`161_attachment_task_id` and `162_attachment_task_id_index` (from #5164)
merged after prefixes 161/162/163 were already taken on main by #5277,
#5279, and #5296, leaving two migrations on each of 161 and 162. That trips
TestMigrationNumericPrefixesStayUniqueAfterLegacySet, so the backend job now
fails on every open PR. Renumber to the next free prefixes (164/165); the
file contents are unchanged.

Note for already-migrated databases: any DB that applied 161/162 has those
versions recorded in schema_migrations. After this rename, reconcile the
ledger (rename the recorded versions to 164/165) or reset the dev DB —
otherwise the migrator re-runs the renamed files and the ADD COLUMN fails
because the column already exists.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 11:09:50 +08:00

9 lines
487 B
SQL

-- Lookup index for BindChatAttachmentsToMessage (find a task's still-unbound
-- rows on chat-task completion). Single-statement + CONCURRENTLY: CREATE INDEX
-- CONCURRENTLY cannot run in a transaction or multi-command string (see
-- 138_issue_title_trgm_index). Partial on task_id IS NOT NULL — only in-flight,
-- not-yet-bound uploads qualify, so the index stays tiny.
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_attachment_task
ON attachment(task_id)
WHERE task_id IS NOT NULL;