Kann ich während der DB-Transaktion einige Checkpoints erstellen?Laravel DB-Transaktionen mit mehreren Commits?
Zum Beispiel, wenn die Transaktion startet, habe ich viele Abfragen, Updates, Löschungen und so weiter.
DB::transaction(function() {
DB::table('users')->update(['votes' => 1]);
// something else here
DB::table('posts')->delete();
});
Soweit ich verstehe, würde diese Art der Funktion automatisch alles im Erfolgsfall Commit und Rollback, wenn etwas schief geht.
Aber wäre es möglich, nicht alles im Fehlerfall rückgängig zu machen, zum Beispiel, wie
DB::table('users')->update(['votes' => 1]);
// something else here
DB::if_successful_so_far_do_not_rollback_previous_lines();
DB::table('posts')->delete();
alle „kleinen inneren Commits“ gibt es?
Warum teilen Sie es dann nicht in zwei Commits auf? :) – manniL
Ich versuche, so wenig Verbindungen wie möglich zu verwenden – Coffee
Nun, ich denke, das wäre die einzige Lösung. Ich glaube nicht, dass Sie eine Transaktion nur "teilweise zurücknehmen" können. – manniL