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
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:
- Schema in
prisma/schema.prismabearbeiten npx prisma generate(Client aktualisieren)npx prisma migrate dev --name "add_new_table"
Schema-Änderungen in Production:
npx prisma migrate deploynpx 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:
-
Migration nur erstellen:
npx prisma migrate dev --create-only --name "add_required_column" -
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'; -
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