Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot maigu datu dzēšanas principu un kā tas atšķiras no pilnīgas dzēšanas?

sobes.tech AI

Atbilde no AI

Maigais dzēšanas (soft delete) ir pieeja, kurā dati netiek fiziski dzēsti no datu bāzes, bet tiek atzīmēti kā dzēsti, piemēram, ar īpašu lauku (piemēram, is_deleted vai deleted_at). Tas ļauj saglabāt datus iespējamai atjaunošanai vai auditam.

Pilna dzēšana (hard delete) ir fiziska ieraksta dzēšana no datu bāzes, pēc kuras datus vairs nevar atgūt.

Piemērs, kā izmantot is_deleted lauku PHP valodā maigai dzēšanai:

// Atzīmēt ierakstu kā dzēstu
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Iegūt tikai neizdzēstos ierakstus
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Šādā veidā maigā dzēšana novērš datu zaudēšanu un nodrošina elastību to pārvaldībā.