🏗️ Migration — creare tabelle scrivendo PHP invece di SQL
Una migration è un file PHP che descrive la struttura di una tabella (colonne, tipi) — invece di scrivere CREATE TABLE in SQL (guida MySQL Basi), si scrive PHP che Laravel traduce in SQL, ed è tracciabile nel tempo come un file di codice versionabile.
# genera un nuovo file migration vuoto
php artisan make:migration create_articoli_table
// database/migrations/xxxx_create_articoli_table.php
public function up(): void
{
Schema::create('articoli', function (Blueprint $table) {
$table->id(); // colonna id, auto-incremento, chiave primaria
$table->string('titolo');
$table->text('contenuto');
$table->timestamps(); // aggiunge created_at e updated_at automaticamente
});
}
# esegue TUTTE le migration non ancora applicate, creando le tabelle nel database
php artisan migrate
💡 $table->timestamps() aggiunge automaticamente due colonne (created_at, updated_at) gestite in automatico da Eloquent — equivalente concettuale della colonna creato_il TIMESTAMP scritta manualmente nelle guide PHP+MySQL precedenti, ma con AGGIORNAMENTO automatico incluso.
✅ Checkpoint: dopo php artisan migrate, verifica con un client MySQL che la tabella articoli sia stata effettivamente creata con le colonne definite.