This release is a pre-release and may not be stable for production use.
forge-mvc-mssql
Backend BDD Microsoft SQL Server pour Forge, au-dessus
de pyodbc.
Depuis l'ADR-054, le cœur de Forge est agnostique BDD : il découvre le backend installé via un entry point. Ce paquet ajoute SQL Server à la liste des choix de SGBD du développeur.
!!! note "Niveau plein"
Backend au niveau plein (ADR-084, révision du 2026-07-19).
forge db:init provisionne SQL Server (--run pour exécuter), l'identité d'insertion est fiable, et l'intégration est validée en CI contre un vrai SQL Server 2022 (pilote ODBC Driver 18).
Installation
pip install forge-mvc forge-mvc-mssql
SQL Server est client-serveur : un serveur SQL Server doit être joignable
(installé, en conteneur mcr.microsoft.com/mssql/server, ou distant), et un
pilote ODBC doit être présent sur la machine cliente (par défaut
« ODBC Driver 18 for SQL Server », surchargeable via DB_ODBC_DRIVER).
Particularités gérées
- Paramètres : pyodbc utilise nativement les
?de Forge (aucune traduction). - Identité : clé primaire auto-incrémentée via
BIGINT IDENTITY(1,1). - Insertion :
lastrowidviaSCOPE_IDENTITY(), exécuté dans le même lot que l'INSERT. - Identifiants : entre crochets
[...]. - Idempotence : SQL Server n'a pas
IF NOT EXISTS; le dialecte émet des formes gardées (IF OBJECT_ID(...) IS NULLpour les tables,IF NOT EXISTS (SELECT ... FROM sys.indexes ...)pour les index). - Lignes-dict : pyodbc ne renvoie pas de dictionnaires ; l'adaptateur
convertit via
cursor.description.
Configuration
Connexion via l'environnement (DB_HOST, DB_PORT, DB_NAME, DB_APP_LOGIN,
DB_APP_PWD, et DB_ODBC_DRIVER au besoin). Un seul backend BDD par projet.
Provisioning
forge db:init génère et affiche le SQL de provisioning SQL Server
(logins d'administration et applicatif, base, users, GRANT sur
SCHEMA::dbo, table forge_migrations), en lots séparés par GO pour
sqlcmd.
forge db:init --run l'exécute avec le compte DB_ADMIN_* (qui doit
exister sur le serveur) : la base, la connexion et l'utilisateur
applicatifs et le registre des migrations sont créés.
Limites connues
- L'escape hatch
DB_APP_PRIVILEGESau-delà du DML (SELECT, INSERT, UPDATE, DELETE) est propre à MariaDB : refus explicite sur SQL Server. - L'introspection de diff compare des noms de types SQL Server : le suivi incrémental de schéma peut être imparfait.
Licence
Propriétaire (voir LICENSE). Trajectoire MIT visée à la version 1.0.0 stable.
Metadata
Release files for forge-mvc-mssql 1.0.0rc9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| forge_mvc_mssql-1.0.0rc9.tar.gz | 26.1 kB | Without provenance | Details for forge_mvc_mssql-1.0.0rc9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| forge_mvc_mssql-1.0.0rc9-py3-none-any.whl | Python 3 | none | any | Details for forge_mvc_mssql-1.0.0rc9-py3-none-any.whl |
Total release size: 43.9 kB
Release files / forge_mvc_mssql-1.0.0rc9.tar.gz
| Download URL | forge_mvc_mssql-1.0.0rc9.tar.gz |
|---|---|
| Size | 26.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe16df7b0ae693fdbf4e931533479fe4eba9722010b0fb708a25d0882b93d855
|
|
BLAKE2b-256 checksum How to use checksums |
5861e794d8de955c12c655718ab0b3c55a4cb48bb03c98e364ec9404e5eda650
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / forge_mvc_mssql-1.0.0rc9-py3-none-any.whl
| Download URL | forge_mvc_mssql-1.0.0rc9-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7770ed2a36d04c14cbb198e698f33b47162d88e67aaa8f6ac1379fa9ac472c5
|
|
BLAKE2b-256 checksum How to use checksums |
a2465bff52e34d3010e1e42b8200e8c720ee77bb4214e770bb4525f4f407b4b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for forge-mvc-mssql 1.0.0rc9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.