diff --git a/backend/app/migrate.py b/backend/app/migrate.py index 8006d3b..e5b2040 100644 --- a/backend/app/migrate.py +++ b/backend/app/migrate.py @@ -32,6 +32,11 @@ EXPECTED_COLUMNS: dict[str, list[tuple[str, str, str | None]]] = { ("identified_confidence", "REAL", None), ("identified_source", "TEXT", None), ], + "astuce": [ + ("categorie", "TEXT", None), + ("tags", "TEXT", None), + ("mois", "TEXT", None), + ], } diff --git a/backend/app/models/astuce.py b/backend/app/models/astuce.py new file mode 100644 index 0000000..fc1e8bc --- /dev/null +++ b/backend/app/models/astuce.py @@ -0,0 +1,19 @@ +from datetime import datetime, timezone +from typing import Optional +from sqlmodel import Field, SQLModel + + +class Astuce(SQLModel, table=True): + id: Optional[int] = Field(default=None, primary_key=True) + # Anciens champs conservés (colonnes existantes en DB) + entity_type: Optional[str] = None + entity_id: Optional[int] = None + source: Optional[str] = None + # Champs principaux + titre: str + contenu: str + # Nouveaux champs bibliothèque + categorie: Optional[str] = None # "plante"|"jardin"|"tache"|"general"|"ravageur"|"maladie" + tags: Optional[str] = None # JSON array string: '["tomate","semis"]' + mois: Optional[str] = None # JSON array string: '[3,4,5]' ou null = toute l'année + created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))