Metadata-Version: 2.4
Name: forge-mvc-entities
Version: 1.0.0rc3
Summary: Forge entities — moteur de generation et de modelisation d'entites et de relations (make:entity, make:relation, build:model, migrations, make:crud, provisioning db:*), extrait du coeur (ADR-070).
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,entities,relations,codegen,orm
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.0rc3
Requires-Dist: jsonschema<5,>=4.18
Dynamic: license-file

# forge-mvc-entities

Opt-in Forge qui porte le **moteur d'entités** : la génération et la modélisation
de la couche de données d'une application Forge.

Extrait du cœur (ADR-070) : le cœur reste un noyau web avec la seule couture
runtime d'accès base (`core/database`, contrat `Dialect`), et le moteur d'entités
devient une brique optionnelle, indépendante du SGBD.

## Contenu

- Génération : `make:entity`, `make:relation` (`many_to_one` et `many_to_many`),
  `make:crud`, `make:pivot-crud`.
- Modélisation : normaliseur canonique, validation (`entity:validate`),
  documentation (`entity:doc`), `build:model` / `sync:entity`, génération de
  migrations.
- Provisioning : `db:config`, `db:init`, `db:apply` (workflow « faire vivre les
  entités dans une base »).
- Pivot enrichi : service d'exécution `PivotAdvancedService` et générateur
  `make:pivot-crud` (hérités de `forge-mvc-pivot`, absorbé par cet opt-in).

L'opt-in dépend du contrat `Dialect` exposé par le cœur, jamais d'un backend
concret : le SGBD est fourni séparément par un opt-in de backend
(`forge-mvc-mariadb`, `forge-mvc-sqlite`, `forge-mvc-postgres`, `forge-mvc-mssql`).

## Installation

```bash
pip install forge-mvc-entities
```

`forge new` installe cet opt-in par défaut (ADR-070) : une application qui
modélise des données l'a d'emblée. Un projet purement web peut s'en passer.
