Migrazioni multi-driver senza sorprese
Pillar article sul sistema di migrazioni che genera SQL corretto per SQLite, MySQL, MariaDB e PostgreSQL.
1 min di letturaMigration
Luigi Iadicola, Programmatore - Napoli
Una API, quattro database
Le migrazioni usano una API fluent identica indipendentemente dal driver: Migration::table()->id()->string()->bool()->timestamps(). Sotto il cofano, ogni Grammar class traduce le istruzioni nella sintassi corretta per il database in uso.
Questo significa che posso sviluppare su SQLite in locale e deployare su MySQL o PostgreSQL in produzione senza modificare una sola migrazione. Le differenze tra driver — come il tipo booleano, l'auto-increment o i vincoli foreign key — vengono gestite automaticamente.
Funzionalità
- Column types completi: string, text, integer, decimal, json, enum, timestamps
- Modifiers: nullable, unique, default, unsigned, generatedAs
- Foreign key con cascade configurabile
- Alter table: add, drop, rename, modify column
- Rollback con tracking per batch
Il sistema è semplice da usare per le migrazioni comuni e abbastanza flessibile per i casi limite grazie al supporto per raw SQL.
Hai lo stesso problema in azienda?
Raccontami cosa non va e da quando. Guardo la situazione con te prima di proporre qualsiasi intervento.
Ricevi il prossimo articolo
Una mail per ogni articolo nuovo, nient'altro. Ti disiscrivi con un clic dal link in fondo a ogni email.