sistemazione migrate
This commit is contained in:
@@ -380,3 +380,46 @@ if (!empty($contatto['individuo_id'])) { create }
|
||||
**Fix**:
|
||||
1. `VistaReportController@update` (linea 101-103): aggiunto `if ($request->expectsJson()) { return response()->json([...]); }` — così il fetch riceve JSON 200, non un redirect 302.
|
||||
2. Fetch headers in `table-settings.blade.php`: aggiunto `'Accept': 'application/json'` — necessario perché `expectsJson()` controlla l'header `Accept`, non `Content-Type`.
|
||||
|
||||
## 2026-06-10 — Fix: tutte le migration idempotenti + seeders idempotenti
|
||||
|
||||
**Problema**: `php artisan migrate` falliva su tabelle già esistenti. `php artisan db:seed` creava duplicati su re-run.
|
||||
|
||||
### Migration: hasTable guard su tutti i 27 file mancanti
|
||||
|
||||
Aggiunto `if (!Schema::hasTable('table_name')) { ... }` wrapper a tutte le 27 migration file (44 `Schema::create()` calls) che ne erano prive, usando script Node.js di trasformazione automatica:
|
||||
- `2024_01_01_000002_create_comuni_diocesi_tables.php`
|
||||
- `2024_01_01_000003_create_individui_table.php`
|
||||
- `2024_01_01_000004_create_contatti_table.php`
|
||||
- `2024_01_01_000005_create_gruppi_table.php`
|
||||
- `2024_01_01_000006_create_gruppo_individuo_table.php`
|
||||
- `2024_01_01_000007_create_eventi_table.php`
|
||||
- `2024_01_01_000008_create_documenti_table.php`
|
||||
- `2024_01_01_000009_create_mailing_tables.php`
|
||||
- `2024_01_01_000010_create_notifiche_table.php`
|
||||
- `2024_01_01_000011_create_users_table.php`
|
||||
- `2024_01_01_000012_create_cache_and_jobs_tables.php`
|
||||
- `2024_01_01_000019_create_eventi_documenti_table.php`
|
||||
- `2024_01_01_000022_create_table_viste_report.php`
|
||||
- `2026_05_10_000001_create_tipologie_documenti_table.php`
|
||||
- `2026_05_10_000002_add_acl_tables.php`
|
||||
- `2026_05_10_125210_create_permission_tables.php` (usa `$tableNames[...]` dinamici)
|
||||
- `2026_05_11_000001_create_email_settings_table.php`
|
||||
- `2026_05_11_000002_create_email_folders_table.php`
|
||||
- `2026_05_11_000003_create_email_messages_table.php`
|
||||
- `2026_05_11_000007_create_email_attachments_table.php`
|
||||
- `2026_05_12_000001_create_ruoli_table.php`
|
||||
- `2026_05_25_000001_create_report_custom_table.php`
|
||||
- `2026_05_26_000001_create_tipologie_eventi_table.php`
|
||||
- `2026_05_26_000002_create_sender_accounts_table.php`
|
||||
- `2026_05_27_000001_create_documenti_cartelle_table.php`
|
||||
- `2026_05_27_113245_create_storage_repositories_table.php`
|
||||
- `2026_06_02_000001_create_calendario_connessioni_table.php`
|
||||
|
||||
### Seeder: firstOrCreate per idempotenza
|
||||
|
||||
- `DiocesiSeeder.php`: `Diocesi::create()` → `Diocesi::firstOrCreate(['nome' => $d['nome']], $d)`
|
||||
- `ComuniSeeder.php`: `Comune::create()` → `Comune::firstOrCreate(['codice_istat' => $c['codice_istat']], $c)`
|
||||
- `DatabaseSeeder.php`: `User::create()` → `User::firstOrCreate(['email' => 'admin@glastree.local'], [...])`, con guardia su `role_preset_id`
|
||||
|
||||
**Risultato**: `php artisan migrate --seed` è ora completamente idempotente. Zero errori su 62 migration + 6 seeder.
|
||||
|
||||
Reference in New Issue
Block a user