Merge #31: Datenbankbefehle benennen, welcher Rueckfragen stellt
Behebt Issue #27: Uebersicht der sieben Datenbankbefehle in der README, db:migrate als einziger interaktiver benannt, Ersteinrichtung auf npm run setup vereinheitlicht. Closes #27
This commit was merged in pull request #31.
This commit is contained in:
@@ -97,11 +97,12 @@ DATABASE_URL="postgresql://cockpit:entwicklung@localhost:5433/betreuungs_cockpit
|
||||
**3. Datenbank einrichten:**
|
||||
|
||||
```bash
|
||||
npx prisma migrate dev --name fundament
|
||||
npm run db:sql # Volltextsuche und Audit-Schutz
|
||||
npm run db:seed
|
||||
npm run setup # Migrationen, Volltextsuche, Audit-Schutz, Beispieldaten
|
||||
```
|
||||
|
||||
Das ist die Kurzform für `db:deploy`, `db:sql` und `db:seed` — die drei
|
||||
Schritte laufen ohne Rückfrage durch.
|
||||
|
||||
**4. Starten:**
|
||||
|
||||
```bash
|
||||
@@ -513,6 +514,35 @@ npm run protokoll # Bauprotokoll aus der Git-Historie
|
||||
npm run version -- patch # Version anheben, Changelog vorbereiten
|
||||
```
|
||||
|
||||
### Die Datenbankbefehle
|
||||
|
||||
Welcher Befehl wofür — und welcher am Terminal Rückfragen stellt. Nur
|
||||
`db:migrate` ist interaktiv; alle anderen laufen in Skripten, in der CI
|
||||
und im Container durch.
|
||||
|
||||
| Befehl | Wofür | Rückfragen? |
|
||||
|---|---|---|
|
||||
| `npm run setup` | Ersteinrichtung: Migrationen, SQL-Skripte, Beispieldaten | nein |
|
||||
| `npm run db:migration -- <name>` | Schemaänderung während der Entwicklung — erzeugt die Migration und nimmt die `DROP INDEX`-Zeilen zur Volltextsuche heraus | nein |
|
||||
| `npm run db:deploy` | Vorhandene Migrationen anwenden (Server, CI, Container) | nein |
|
||||
| `npm run db:migrate` | `prisma migrate dev` — fragt nach dem Namen und bietet an, die Datenbank zurückzusetzen | **ja** |
|
||||
| `npm run db:sql` | Volltextsuche und Audit-Schutz; läuft nicht mit den Migrationen mit | nein |
|
||||
| `npm run db:pruefen` | Nachsehen, ob die Trigramm-Indizes noch stehen | nein |
|
||||
| `npm run db:seed` | Beispieldaten einspielen | nein |
|
||||
|
||||
Der übliche Weg für eine Schemaänderung:
|
||||
|
||||
```bash
|
||||
# Schema in prisma/schema.prisma ändern, dann
|
||||
npm run db:migration -- ansprechpartner # erzeugen und lesen
|
||||
npm run db:deploy # anwenden
|
||||
npm run db:pruefen # Indizes nachsehen
|
||||
```
|
||||
|
||||
`db:migrate` braucht man dafür nicht mehr. Es bleibt für die Fälle, in
|
||||
denen man wirklich den interaktiven Prisma-Ablauf will — etwa um eine
|
||||
verkorkste Entwicklungsdatenbank zurückzusetzen.
|
||||
|
||||
Konventionen — verbindlich für alle Beiträge:
|
||||
[`docs/KONVENTIONEN.md`](docs/KONVENTIONEN.md).
|
||||
Schnittstellen zwischen den Modulen:
|
||||
@@ -545,7 +575,8 @@ Produktion.
|
||||
über den Abschnitt `environment:`.
|
||||
- Beim ersten Start eines Containers laufen die Migrationen automatisch
|
||||
mit. Die beiden SQL-Skripte (Volltextsuche, Audit-Schutz) sind
|
||||
**einmalig von Hand** anzustoßen, siehe oben.
|
||||
**einmalig von Hand** anzustoßen, siehe oben. Beim Aktualisieren
|
||||
erledigt das `scripts/update.sh` mit — beide Skripte sind idempotent.
|
||||
|
||||
### Technische Grundlage
|
||||
|
||||
|
||||
Reference in New Issue
Block a user