Migration de la base de données : SQLite vers PostgreSQL #56

Merged
djalim merged 6 commits from feature/postgresMigration into develop 2026-04-21 10:07:45 +00:00
Collaborator

Résumé

Migration de SQLite vers PostgreSQL et refactorisation de la couche base de données pour utiliser Drizzle ORM afin d'améliorer la sécurité des types, la maintenabilité et la production-readiness.
Ferme #55

Changements

Configuration Base de Données

  • Connexion PostgreSQL: Ajouter la configuration de connexion PostgreSQL avec identifiants basés sur l'environnement
  • Schéma Drizzle: Définir le schéma de base de données avec les tables pour les données de mobilité et d'étudiants
  • Configuration Drizzle: Configurer drizzle-kit pour les migrations gérées
  • Variables d'environnement: Ajouter .env.template avec la chaîne de connexion PostgreSQL

Refactorisation du Code

  • API Mobilité: Refactoriser depuis SQL brut vers les requêtes Drizzle ORM en utilisant db.select(), db.insert() et onConflictDoUpdate
  • API Étudiants: Refactoriser depuis SQL brut vers Drizzle ORM avec sécurité des types améliorée
  • Mises à jour des dépendances: Ajouter les packages pg, drizzle-orm et dotenv pour la connectivité base de données

Infrastructure

  • Docker Compose: Mise à jour de la configuration de déploiement en production pour PostgreSQL
### Résumé Migration de SQLite vers PostgreSQL et refactorisation de la couche base de données pour utiliser Drizzle ORM afin d'améliorer la sécurité des types, la maintenabilité et la production-readiness. Ferme #55 ### Changements #### Configuration Base de Données - **Connexion PostgreSQL**: Ajouter la configuration de connexion PostgreSQL avec identifiants basés sur l'environnement - **Schéma Drizzle**: Définir le schéma de base de données avec les tables pour les données de mobilité et d'étudiants - **Configuration Drizzle**: Configurer drizzle-kit pour les migrations gérées - **Variables d'environnement**: Ajouter `.env.template` avec la chaîne de connexion PostgreSQL #### Refactorisation du Code - **API Mobilité**: Refactoriser depuis SQL brut vers les requêtes Drizzle ORM en utilisant `db.select()`, `db.insert()` et `onConflictDoUpdate` - **API Étudiants**: Refactoriser depuis SQL brut vers Drizzle ORM avec sécurité des types améliorée - **Mises à jour des dépendances**: Ajouter les packages `pg`, `drizzle-orm` et `dotenv` pour la connectivité base de données #### Infrastructure - **Docker Compose**: Mise à jour de la configuration de déploiement en production pour PostgreSQL
djalim added 6 commits 2026-04-03 08:54:19 +00:00
Set up environment config and database ORM
- replace Database with db instance
- use schema imports for tables
- use db.select, db.insert, onConflictDoUpdate
- remove manual connection handling and console logs
- improve type safety and maintainability

refactor(students): migrate to Drizzle ORM and async queries

Replace raw sqlite queries with Drizzle ORM. Remove the connect helper and use the
shared db instance and schema definitions. Convert getItself, getAll and
addStudents to async functions, use eq and lt helpers, and simplify promotion
handling. This improves type safety, maintainability, and allows non‑blocking
database access.
Add postgres service with environment variable for password.
Change app image to registry and adjust ports.
Update volume mount to production path.
Add deploy constraints for manager nodes.
djalim changed title from Migration de la base de données : SQLite vers SQBD Hebergé to Migration de la base de données : SQLite vers PostgreSQL 2026-04-03 08:55:21 +00:00
djalim merged commit 0f7282ba87 into develop 2026-04-21 10:07:45 +00:00
djalim deleted branch feature/postgresMigration 2026-04-21 10:07:45 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/PolyMPR#56