Skillshub laravel-transactions-and-consistency

Transactions and Consistency

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/noartem/skills/laravel-transactions-and-consistency" ~/.claude/skills/comeonoliver-skillshub-laravel-transactions-and-consistency && rm -rf "$T"
manifest: skills/noartem/skills/laravel-transactions-and-consistency/SKILL.md
source content

Transactions and Consistency

Ensure multi-step changes are atomic; make retries safe.

Commands

DB::transaction(function () use ($order, $payload) {
    $order->update([...]);
    $order->items()->createMany($payload['items']);
    OrderUpdated::dispatch($order);        // or flag for after-commit
});

// Listener queued after commit
class SendInvoice implements ShouldQueue {
    public $afterCommit = true;
}

Patterns

  • Use
    DB::transaction
    to wrap write sequences and related side-effects
  • Prefer
    $afterCommit
    or
    dispatchAfterCommit()
    for events / jobs
  • Make jobs idempotent (check existing state, use unique constraints)
  • Use
    lockForUpdate()
    for row-level coordination when needed
  • Validate invariants at the boundary before starting the transaction