CRUD
CRUD står för create, read, update och delete – de fyra operationer som täcker nästan allt en applikation gör med lagrad data. Termen används som kortform för en apps grundläggande datalager: kan användarna lägga till poster, se dem, ändra dem och ta bort dem har du byggt CRUD.
Samma fyra idéer i tre vokabulär
Värdet i förkortningen är att den översätts rent mellan lager:
- Create – SQL
INSERT, HTTPPOST. - Read – SQL
SELECT, HTTPGET. - Update – SQL
UPDATE, HTTPPUTför en fullständig ersättning ellerPATCHför en delvis. - Delete – SQL
DELETE, HTTPDELETE.
Ett REST-API är i grunden CRUD uttryckt över HTTP. I en NorthernGo-app dyker samma operationer upp som window.NorthernGoDB.save(collection, data), .get(collection) och .delete(collection, field, value) – skapa, läsa och ta bort, där en uppdatering uttrycks som en sparning över en befintlig post.
Där CRUD slutar räcka
Två fallgropar är värda att namnge.
Att ta bort är sällan så enkelt som det låter. De flesta system i drift raderar mjukt – sätter en tidsstämpel i deleted_at och filtrerar bort raden – eftersom verklig radering bryter främmande nycklar, förstör spårbarhet och inte går att ångra efter en felklickning. Men om datan är personuppgifter uppfyller en mjuk radering inte en begäran om radering enligt GDPR, eftersom posten fortfarande finns. Att avgöra vilka rader som ska gå att återställa och vilka som måste försvinna på riktigt är ett designbeslut, inte en implementationsdetalj.
Allt är inte en postredigering. "Säg upp prenumerationen", "publicera artikeln" och "återbetala ordern" innebär tillståndsövergångar, sidoeffekter och regler för vad som är tillåtet från nuvarande läge. Att modellera dem som en naken uppdatering av en statuskolumn brukar sprida ut den logiken över kodbasen. Det är här team i stället väljer domänspecifika endpoints eller en händelsebaserad modell.
Missuppfattningen
CRUD är en beskrivning, inte en arkitektur. Att kalla en app "bara CRUD" undervärderar den oftast: validering, behörigheter, samtidiga ändringar, sidindelning och ändringshistorik är där arbetet ligger, och alla fyra bokstäverna ser triviala ut tills två användare uppdaterar samma rad samtidigt.
Vanliga frågor
Räcker en mjuk radering för att uppfylla en begäran om radering enligt GDPR?
I regel nej, eftersom personuppgifterna fortfarande finns kvar och är åtkomliga för organisationen. Radering kräver normalt att uppgifterna tas bort eller anonymiseras oåterkalleligt, även i säkerhetskopior inom en dokumenterad gallringstid. Det här är en förklaring av begreppet, inte juridisk rådgivning.
Bygg det själv
NorthernGo förvandlar en beskrivning i ren text till en fungerande webbapp med databas, inloggning och en live-adress. Lokal AI-generering körs på ditt eget grafikkort, är obegränsad och ingår gratis i alla prisplaner.