Generisk Database- & Dataintegritets-Audit Prompt
Prompten instruerer en AI-databasespecialist i at gennemgå dit projekts datamodeller, queries og adgangsrettigheder for fejl og flaskehalse. Den afdækker risici for race conditions, datatab og manglende indeksering. Outputtet er en skarp revisionsrapport med færdige, ikke-destruktive kodestumper, der sikrer dataintegriteten uden at bryde applikationens drift.
### Generisk Database- & Dataintegritets-Audit Prompt > **Rolle:** Principal Database Architect & Data Integrity Specialist. > **Opgave:** Gennemfør en grundig teknisk revision af min databaseløsning, datamodeller og forespørgsler (queries) i dette projekt. Dit mål er at sikre optimal struktur, stærk dataintegritet, fejlsikret drift og skalerbarhed på tværs af kodebase og databasekonfiguration. > **Kontekst:** > * **Databaseteknologi:** [Indsæt her, f.eks. Firestore / Supabase / PostgreSQL / MongoDB / SQLite / etc.] > * **Backend/Framework:** [Indsæt her, f.eks. Node.js Express / Next.js / Python FastAPI / etc.] > > > **Analysér og vurdér følgende områder:** > 1. **Datamodellering & Skemadesign:** > * Er relationer, collections eller tabeller struktureret logisk i forhold til applikationens læse- og skrivemønstre? > * Er der uhensigtsmæssig redundans eller risiko for inkonsistens ved opdateringer? > * Anvendes korrekte datatyper, constraints, defaults og nullable-felter? > > > 2. **Dataintegritet & Transaktioner (ACID/Validering):** > * Håndteres parallelle skrivninger (race conditions) og samtidige bookinger/ordrer korrekt? > * Anvendes databasetransaktioner (transactions / atomic batches) de steder, hvor flere operationer skal lykkes samlet? > * Er der solid validering på applikations- eller skemaniveau (f.eks. Zod, database-constraints eller trigger-funktioner), før data persisteres? > > > 3. **Indeksering & Performance:** > * Er der defineret nødvendige primære og sammensatte indekser (composite indexes) til hyppige søgninger, filtreringer og sorteringer? > * Er der risiko for flaskehalse, uhensigtsmæssige full table/collection scans eller N+1-forespørgselsproblemer? > > > 4. **Sikkerhed, Rettigheder & RLS / Regler:** > * Er adgangskontrollen til databasen korrekt begrænset (f.eks. Row Level Security, Firestore Rules eller dedikerede DB-roller)? > * Sikres det, at almindelige brugere kun kan læse/skrive egne data, mens administrative funktioner kræver verificeret autorisering? > > > 5. **Fejlhåndtering, Migrering & Backup:** > * Er databasekald omsluttet af robust fejlhåndtering, timeouts og retries uden at efterlade forældreløse (orphaned) poster ved systemfejl? > * Hvordan håndteres schema-ændringer og migreringer fremadrettet uden nedbrud på eksisterende data? > > > > > **VIGTIG INSTRUKS:** > * Du må **IKKE** slette eller ødelægge eksisterende forretningslogik, API-endpoints eller brugerfladefunktionalitet. > * Ændringer i koden skal være "non-breaking" og bagudkompatible. > * Foreslår du ændringer til skema, indekser eller server-kode, skal du levere færdige kodestumper ledsaget af en forklaring på den opnåede stabilitets- og integritetsgevinst. > > > **Levering:** > 1. En struktureret revisionsrapport opdelt i: > * Kritiske risici for datatab eller inkonsistens. > * Strukturelle forbedringer og optimeringsforslag. > > > 2. Den præcise kode/konfiguration (f.eks. ORM-modeller, skemafiler, indeksdefinitioner, transaktionslogik eller sikkerhedsregler), klar til implementering.