Le migrazioni sono un tipo di controllo di versione per il database. Consentono a un team di modificare lo schema del database e rimanere aggiornati sullo stato corrente dello schema. Le migrazioni vengono in genere accoppiate allo Schema Builder per gestire facilmente lo schema dell'applicazione.
Con le migrazioni non è necessario creare una tabella in phpMyAdmin, è possibile farlo in Laravel. Ecco un esempio di creare una tabella utente:
class CreateUsersTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->increments('id'); // autoincrement id field
$table->string('name'); // string field
$table->string('lastname');
$table->string('title');
$table->string('email')->unique(); // unique string field
$table->string('password', 60); // string field with max 60 characters
$table->boolean('Status')->default(0); // string field with default value 0
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
ho questo codice creiamo tabella con campi come "nome", "cognome" ... abbiamo detto nel nostro codice laravel essi sono di tipo stringa quando la migrazione è fatto abbiamo una tabella completa in databese con questi campi.
Eseguire una migrazione per creare tavolo
Per creare una migrazione, è possibile utilizzare il make: comando di migrazione sulla Artisan CLI (interfaccia artigianale riga di comando):
php artisan make:migration create_users_table
o
php artisan make:migration create_users_table --create=users
Eseguire una migrazione n alterare tavolo
Quando è necessario fare alcuni cambiamenti nella esempio tabella del database: aggiungere il campo voto di tabella degli utenti che si può fare in questo modo nel codice laravel senza toccare il codice SQL
php artisan make:migration add_votes_to_users_table --table=users
rollback il ultima operazione di migrazione
Se si commette un errore e si è verificato un errore, è sempre possibile eseguire il rollback per restituire il database nello stato precedente.
php artisan migrate:rollback
rollback tutte le migrazioni
php artisan migrate:reset
rollback tutte le migrazioni ed eseguire tutti di nuovo
php artisan migrate:refresh
php artisan migrate:refresh --seed
Uno dei miglior vantaggio di migrazioni stanno creando database senza toccare il codice SQL. È possibile creare un database completo con una relazione nel codice PHP, quindi migrarlo in MySQL, PL/SQL, MSSQL o qualsiasi altro database.
Inoltre, raccomando lo Laravel 5 fundamental series gratuito, nell'episodio 7 è possibile ricevere ulteriori informazioni sulle migrazioni.
Le migrazioni sono un tipo di controllo di versione per il database. - Hai già usato il controllo della versione? È essenzialmente un modo di passare da una configurazione all'altra o di tornare alla versione precedente di come era uno schema di database. – naththedeveloper
Se aggiungo una nuova colonna in una tabella nella versione 1.1.1, quindi la mia migrazione creerà la nuova colonna (conosciuta come "up" - passando alla versione successiva) e rimuoverà anche la colonna (conosciuta come "down" - spostandosi alla versione precedente) – naththedeveloper
Possibile duplicato? http://stackoverflow.com/q/23010146/472495 – halfer