Zum Hauptinhalt springen

Admin Dashboard

Prisma Database Commands​

Grundlegende Befehle​

Schema & Client​

# Prisma Client generieren (nach Schema-Änderungen)
npx prisma generate

# Schema validieren
npx prisma validate

# Schema formatieren
npx prisma format

Datenbank-Management​

# Schema direkt an Datenbank pushen (nur Development)
npx prisma db push

# Datenbank zurücksetzen (löscht alle Daten!)
npx prisma db push --force-reset

Migrationen​

Development (mit Datenverlust)​

# Neue Migration erstellen und anwenden
npx prisma migrate dev --name "migration_name"

# Migration nur erstellen (ohne anzuwenden)
npx prisma migrate dev --create-only --name "migration_name"

# Migrationen zurücksetzen
npx prisma migrate reset

Production (ohne Datenverlust)​

# Migrationen anwenden (für Production)
npx prisma migrate deploy

# Migration-Status anzeigen
npx prisma migrate status

Datenbank-Explorer​

# Prisma Studio öffnen (GUI für Datenbank)
npx prisma studio

URL: http://localhost:5555

Seeding​

# Seed-Script ausführen
npx prisma db seed

Debugging & Info​

# Prisma-Version anzeigen
npx prisma --version

# Hilfe anzeigen
npx prisma --help
npx prisma migrate --help

Häufige Workflows​

Neue Tabelle hinzufügen:​

  1. Schema in prisma/schema.prisma bearbeiten
  2. npx prisma generate (Client aktualisieren)
  3. npx prisma migrate dev --name "add_new_table"

Schema-Änderungen in Production:​

  1. npx prisma migrate deploy
  2. npx prisma generate

Datenbank zurücksetzen (Development):​

npx prisma migrate reset
npx prisma db seed

Problem: Required Spalte zu Tabelle mit Daten hinzufügen​

Wenn du eine required Spalte zu einer Tabelle mit existierenden Daten hinzufügen willst:

  1. Migration nur erstellen:

    npx prisma migrate dev --create-only --name "add_required_column"
  2. Migration-Datei bearbeiten (in prisma/migrations/):

    -- Statt: ALTER TABLE "table" ADD COLUMN "column" TEXT NOT NULL;
    -- Verwende:
    ALTER TABLE "table" ADD COLUMN "column" TEXT NOT NULL DEFAULT 'default_value';
  3. Migration anwenden:

    npx prisma migrate dev

Wichtige Hinweise​

  • migrate dev = Für Development (erstellt neue Migrationen)
  • migrate deploy = Für Production (wendet existierende Migrationen an)
  • db push = Direktes Schema-Push (ohne Migrationen, nur für Development)
  • generate = Muss nach Schema-Änderungen ausgeführt werden