Prompt directory
Impulse.directory
HomeBrowseStacks
Sign inCreate an account
    command

    DB INIT Drizzle

    impulse-lab/db-init-drizzle·v1·updated September 26, 2025
    Pablo
    Pablo@pablo·Impulse Lab
    Claude Code / Slash command
    Claude Sonnet 4.5
    Claude Opus 4.1
    Content
    # 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

    Install with the impulse CLI

    $npx @impulselab/directory impulselab/db-init-drizzle

    Stats

    Views
    44
    Saves
    0

    Owner

    impulse-logo

    Impulse Lab

    Official artifact