Metadata-Version: 2.4
Name: forge-mvc-sessions-db
Version: 1.0.0rc4
Summary: Forge sessions BDD — store de session persistant, portable, adossé au backend BDD actif.
Author: Roger Lequette
License-Expression: LicenseRef-Forge-Proprietary
Project-URL: Homepage, https://github.com/caucrogeGit/Forge
Project-URL: Repository, https://github.com/caucrogeGit/Forge
Project-URL: Documentation, https://forgemvc.com/docs/forge/
Keywords: python,mvc,forge,sessions,database
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: forge-mvc<2,>=1.0.0rc4
Dynamic: license-file

# forge-mvc-sessions-db

Store de session persistant pour Forge, adossé à la base via le backend BDD actif.

Le cœur Forge ne fournit que `MemorySessionStore` (mono-processus) et
`FileSessionStore`, plus le contrat `SessionStore`.
Ce paquet opt-in ajoute `DbSessionStore` : les sessions vivent dans la table
`forge_sessions`, partagées entre processus (utile en multi-worker Gunicorn).

Le store est agnostique du SGBD : tout son SQL passe par `core.database.db`,
dispatché vers le backend actif (`forge-mvc-mariadb`, `forge-mvc-sqlite`, …).
Les horodatages sont calculés côté Python, sans fonction SQL propriétaire
(`NOW()`, `GETDATE()`), donc le store fonctionne sur tous les backends (ADR-054).

## Usage

```python
from forge_mvc_sessions_db import DbSessionStore

forge.configure(session_store=DbSessionStore())
```

Table requise : `forge_sessions`.
`forge sessions:init` copie la migration dans `mvc/migrations/`, puis `forge migration:apply` l'applique.
