# Database Initialization Command Cette commande Claude Code initialise une base de données PostgreSQL avec Drizzle ORM, Docker et l'architecture de dossiers nécessaire. ## Étapes d'exécution ### 1. Installation des packages Drizzle `pnpm add drizzle-orm pg pnpm add -D drizzle-kit @types/pg ` ### 2. Configuration Docker Créer le fichier `docker-compose.yml` : `version: '3.8' services: postgres: image: postgres:15 container_name: ${PWD##*/}-db environment: POSTGRES_DB: ${PWD##*/} POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data restart: unless-stopped volumes: postgres_data: ` ### 3. Architecture de dossiers DB `/db/ ├── schema/ │ ├── auth/ │ │ ├── schema.ts │ │ ├── relation.ts │ │ └── type.ts │ ├── commands/ │ │ ├── schema.ts │ │ ├── relation.ts │ │ └── type.ts │ └── index.ts ├── migrations/ ├── index.ts └── connection.ts ` ### 4. Scripts package.json `{ "scripts": { "db:start": "docker-compose up -d", "db:stop": "docker-compose down", "db:studio": "drizzle-kit studio", "db:push": "drizzle-kit push", "db:generate": "drizzle-kit generate", "db:migrate": "drizzle-kit migrate" } } ` ### 5. Configuration Drizzle Créer `drizzle.config.ts` : `import { defineConfig } from 'drizzle-kit'; export default defineConfig({ schema: './db/schema/index.ts', out: './db/migrations', dialect: 'postgresql', dbCredentials: { url: process.env.DATABASE_URL || `postgresql://postgres:postgres@localhost:5432/${require('path').basename(process.cwd())}`, }, }); ` ### 6. Démarrage `pnpm db:start ` ## Usage Une fois cette commande exécutée, vous aurez : - PostgreSQL en cours d'exécution dans Docker - Tous les packages Drizzle installés - L'architecture de dossiers DB prête - Les scripts de gestion de la DB configurés