feat: Aggiungi funzionalità di eliminazione per clienti e preventivi con gestione delle dipendenze

This commit is contained in:
2026-10-19 15:48:15 +02:00
parent d6a9978167
commit 31d5152d8c
20 changed files with 673 additions and 17 deletions
@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* La cancellazione di un cliente deve eliminare di conseguenza i suoi
* preventivi (e gli item, già in cascata): la FK passa da SET NULL a CASCADE.
*/
public function up(): void
{
Schema::table('preventivi', function (Blueprint $table) {
$table->dropForeign(['cliente_id']);
});
Schema::table('preventivi', function (Blueprint $table) {
$table->foreign('cliente_id')->references('id')->on('clienti')->cascadeOnDelete();
});
}
public function down(): void
{
Schema::table('preventivi', function (Blueprint $table) {
$table->dropForeign(['cliente_id']);
});
Schema::table('preventivi', function (Blueprint $table) {
$table->foreign('cliente_id')->references('id')->on('clienti')->nullOnDelete();
});
}
};