feat(backend): modèles SQLModel (10 tables)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 21:17:09 +01:00
parent cf4fbfd4a0
commit 26b5a3dbdf
6 changed files with 157 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
from datetime import date, datetime
from typing import Optional
from sqlmodel import Field, SQLModel
class Planting(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
garden_id: int = Field(foreign_key="garden.id", index=True)
variety_id: int = Field(foreign_key="plantvariety.id", index=True)
cell_id: Optional[int] = Field(default=None, foreign_key="gardencell.id")
date_semis: Optional[date] = None
date_plantation: Optional[date] = None
date_repiquage: Optional[date] = None
quantite: int = 1
statut: str = "prevu" # prevu | en_cours | termine | echoue
date_recolte_debut: Optional[date] = None
date_recolte_fin: Optional[date] = None
rendement_estime: Optional[float] = None
rendement_reel: Optional[float] = None
notes: Optional[str] = None
created_at: datetime = Field(default_factory=datetime.utcnow)
updated_at: datetime = Field(default_factory=datetime.utcnow)
class PlantingEvent(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
planting_id: int = Field(foreign_key="planting.id", index=True)
type: str # arrosage | taille | traitement | observation | autre
note: Optional[str] = None
ts: datetime = Field(default_factory=datetime.utcnow)