0383dd2f64
Check Cross-Plugin Imports / check (push) Has been cancelled
Produktionsbug: Plugin ai_assistant war migration_failed/inactive, weil Migration 0003 ALTER TABLE ai_chat_sessions ausfuehrte — die Tabelle wurde von Alembic 0137 (2026-08-21, Umstieg auf comm-Tabellen) gedroppt. Bei jedem Container-Start crashte die Migration und deaktivierte das Plugin (KI-Chat und /api/v1/ai/* lieferten 403). Fix: - 0003: ai_chat_sessions-Statements entfernt, nur ai_chat_folders behalten - 0001: Ghost-Tabellen ai_chat_sessions/ai_chat_messages entfernt (frische Installs duerfen sie nicht rekreieren — Schema-Drift) - 0002: ai_chat_attachments + toter folder_id-ALTER entfernt, nur ai_chat_folders behalten Runner skipt getrackte Migrationen per Dateiname (kein Hash-Check), Prod-Risiko null; 0003 laeuft beim naechsten Start sauber durch und aktiviert das Plugin wieder.
20 lines
946 B
SQL
20 lines
946 B
SQL
-- AI Assistant plugin migration 0002: chat folders
|
|
-- FIX 2026-09-16: ai_chat_attachments and the folder_id ALTER on
|
|
-- ai_chat_sessions removed — AI chat moved to comm_conversations/
|
|
-- comm_messages (Alembic 0137 dropped the legacy tables). Only the
|
|
-- ai_chat_folders table remains (still used for chat folder ordering).
|
|
|
|
CREATE TABLE IF NOT EXISTS ai_chat_folders (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
name VARCHAR(255) NOT NULL,
|
|
parent_id UUID REFERENCES ai_chat_folders(id) ON DELETE CASCADE,
|
|
user_id UUID NOT NULL,
|
|
tenant_id UUID NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
deleted_at TIMESTAMPTZ
|
|
);
|
|
CREATE INDEX IF NOT EXISTS ix_ai_folders_user ON ai_chat_folders(user_id);
|
|
CREATE INDEX IF NOT EXISTS ix_ai_folders_tenant ON ai_chat_folders(tenant_id);
|
|
CREATE INDEX IF NOT EXISTS ix_ai_folders_parent ON ai_chat_folders(parent_id);
|