doc: improve contributor guidance
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me> Co-authored-by: Google/Gemini-3.5-Flash <vibecoder@antoineve.me> Co-authored-by: DeepSeek/DeepSeek-v4-Flash <vibecoder@antoineve.me>
This commit is contained in:
@@ -263,7 +263,7 @@ sudo systemctl restart tableau-de-bord-pro
|
||||
- En **production** : Tu dois écrire une migration manuelle dans la fonction `_migrate_db` située dans `app/__init__.py`. Cette fonction s'exécute au démarrage de l'application, vérifie l'existence des colonnes via SQLite, et applique les instructions `ALTER TABLE` nécessaires de manière sécurisée.
|
||||
|
||||
### Dépréciations à surveiller
|
||||
- **`datetime.utcnow()`** : Utilisé dans les modèles de données. Cette méthode est dépréciée depuis Python 3.12. Lors d'une prochaine évolution majeure des modèles, il faudra la remplacer par `datetime.now(UTC)`.
|
||||
- **`datetime.utcnow()`** : Cette méthode est dépréciée depuis Python 3.12. Il est formellement recommandé d'utiliser `datetime.now(UTC)` (avec `from datetime import UTC`) à la place. Lors d'une prochaine évolution majeure des modèles, il faudra remplacer les occurrences existantes.
|
||||
- **`db.get_engine()`** : Déprécié dans Flask-SQLAlchemy 3.x. Utilise toujours `db.engine` à la place.
|
||||
|
||||
---
|
||||
|
||||
@@ -384,7 +384,7 @@ git commit -m "feat: TOML config loader for vehicles, journeys, and tax scales"
|
||||
|
||||
```python
|
||||
from app import db
|
||||
from datetime import date, time, datetime
|
||||
from datetime import date, time, datetime, UTC
|
||||
from enum import Enum as PyEnum
|
||||
import sqlalchemy as sa
|
||||
import sqlalchemy.orm as so
|
||||
@@ -410,9 +410,9 @@ class WorkEntry(db.Model):
|
||||
journey_profile_id: so.Mapped[str | None] = so.mapped_column(sa.String(64), nullable=True)
|
||||
day_type: so.Mapped[str] = so.mapped_column(sa.String(16), nullable=False, default="WORK")
|
||||
comment: so.Mapped[str | None] = so.mapped_column(sa.Text, nullable=True)
|
||||
created_at: so.Mapped[datetime] = so.mapped_column(sa.DateTime, default=datetime.utcnow)
|
||||
created_at: so.Mapped[datetime] = so.mapped_column(sa.DateTime, default=lambda: datetime.now(UTC))
|
||||
updated_at: so.Mapped[datetime] = so.mapped_column(
|
||||
sa.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow
|
||||
sa.DateTime, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC)
|
||||
)
|
||||
|
||||
time_slots: so.Mapped[list["TimeSlot"]] = so.relationship(
|
||||
|
||||
Reference in New Issue
Block a user