Au-delà du tutoriel basique, les migrations Drizzle en production demandent des patterns avancés : zero-downtime, rollback safe, gestion d’environnements multiples, CI/CD intégré. Voici le guide complet 2026.
Ce pilier couvre les patterns avancés. Les satellites détaillent : zero-downtime migrations, Drizzle Studio en pratique, Drizzle vs Prisma, multi-tenancy avec Drizzle.
Workflow migrations en équipe
- Dev modifie schéma TS dans
src/db/schema.ts bun drizzle-kit generate→ fichier SQL versionné dansdrizzle/- Commit Git du fichier SQL ET du schéma TS
- Code review : revoir le SQL généré (drizzle-kit peut parfois générer des migrations destructives)
- Merge → CI lance
bun drizzle-kit migrateen staging - Validation staging → promote vers prod
- Déploiement prod : migrate puis nouvelle version app
Configuration multi-environnement
// drizzle.config.ts
import { defineConfig } from "drizzle-kit";
export default defineConfig({
schema: "./src/db/schema.ts",
out: "./drizzle",
dialect: "postgresql",
dbCredentials: {
url: process.env.DATABASE_URL!,
},
verbose: true,
strict: true,
schemaFilter: ["public"],
migrations: {
schema: "public",
table: "drizzle_migrations",
},
});
Migration zero-downtime
Voir notre tutoriel zero-downtime. Pattern : ajouter colonne nullable d’abord → backfill → contraintes plus tard.
CI/CD avec Forgejo Actions
# .forgejo/workflows/migrate.yml
name: Migrate DB
on:
push:
branches: [main]
paths:
- 'drizzle/**'
- 'src/db/schema.ts'
jobs:
migrate-staging:
runs-on: ubuntu-latest
environment: staging
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun drizzle-kit migrate
env:
DATABASE_URL: ${{ secrets.STAGING_DATABASE_URL }}
migrate-prod:
needs: migrate-staging
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun drizzle-kit migrate
env:
DATABASE_URL: ${{ secrets.PROD_DATABASE_URL }}
Drizzle Studio
UI graphique pour explorer la base. Voir notre tutoriel Drizzle Studio.
Multi-tenancy
Voir notre tutoriel multi-tenancy : approches schema-per-tenant ou row-level security.
Adaptation Afrique de l’Ouest
Pour PME africaines avec déploiements continus, le combo Drizzle + Forgejo Actions + Coolify donne un workflow CI/CD complet sans dépendance cloud externe. Migrations versionnées dans Git, déployées automatiquement après tests.