fix: sync all models with production DB schema
Check Cross-Plugin Imports / check (push) Has been cancelled

- Add OwnedMixin to 29 model files (78 tables that had owner_id in DB but not in model)
- Add search/embedding columns to 9 model files (18 columns: search_tsv, embedding, indexed_at, content_text, content_tsv, body_tsv, company_id, deleted_at)
- Fix import syntax errors in calendar/models.py, mail/models.py, notification.py, contact.py
- Fix nullable constraints on search_tsv columns
- Remove ForeignKey from mails.company_id (companies table not always loaded in test context)
- All 36 tests pass (24 Phase J + 12 Phase K)
- Models now match production DB schema
This commit is contained in:
Agent Zero
2026-08-21 11:20:15 +02:00
parent b3dea611b4
commit 6555655ecf
31 changed files with 124 additions and 75 deletions
+6 -6
View File
@@ -22,7 +22,7 @@ from app.models.owned_mixin import OwnedMixin
# --- Providers ---
class AIProvider(Base, TenantMixin):
class AIProvider(Base, TenantMixin, OwnedMixin):
"""LLM provider configuration (OpenAI, Anthropic, Ollama, etc.)."""
__tablename__ = "ai_providers"
@@ -53,7 +53,7 @@ class AIProvider(Base, TenantMixin):
# --- Models ---
class AIModel(Base, TenantMixin):
class AIModel(Base, TenantMixin, OwnedMixin):
"""Available model per provider."""
__tablename__ = "ai_models"
@@ -81,7 +81,7 @@ class AIModel(Base, TenantMixin):
# --- Presets ---
class AIPreset(Base, TenantMixin):
class AIPreset(Base, TenantMixin, OwnedMixin):
"""Model preset: model + parameters + optional system prompt."""
__tablename__ = "ai_presets"
@@ -167,7 +167,7 @@ class AIChatSession(Base, TenantMixin, OwnedMixin):
# --- Chat Messages ---
class AIChatMessage(Base, TenantMixin):
class AIChatMessage(Base, TenantMixin, OwnedMixin):
"""Individual message in a chat session."""
__tablename__ = "ai_chat_messages"
@@ -194,7 +194,7 @@ class AIChatMessage(Base, TenantMixin):
# --- Chat Folders ---
class AIChatFolder(Base, TenantMixin):
class AIChatFolder(Base, TenantMixin, OwnedMixin):
"""Folder for organizing chat sessions."""
__tablename__ = "ai_chat_folders"
@@ -219,7 +219,7 @@ class AIChatFolder(Base, TenantMixin):
# --- Chat Attachments ---
class AIChatAttachment(Base, TenantMixin):
class AIChatAttachment(Base, TenantMixin, OwnedMixin):
"""File attached to a chat message."""
__tablename__ = "ai_chat_attachments"