As migrações são uma espécie de controle de versão do banco de dados no Laravel, com ela, você consegue estruturar o banco de dados e fazer alterações nas tabelas ao longo do tempo de modo que todos os envolvidos no projeto consigam manterem-se alinhados com as mudanças.

Laravel - The PHP Framework For Web Artisans

Gerando migrações

Para gerar migrações você deve utilizar o comando make:migration. Os arquivos de migrações são geradas no diretório database/migrations. Cada arquivo de migração contém um timestamp que permite o Laravel determinar a ordem das migrações.

php artisan make:migration create_flights_table

O Laravel vai usar o nome da migração para gerar o nome da tabela e se a migração irá ou não criar uma tabela. Se o Laravel conseguir determinar o nome da tabela, ele irá preencher previamente o arquivo de migração com o nome especificado. Caso contrário, você deverá preenchê-lo manualmente.

Estrutura da migração

Uma classe de migração (Migration) possui dois métodos: up e down. O método up é usado para adicionar tabelas, colunas ou índices ao banco de dados, enquanto o método down deve ser usado para reverter a operação executada pelo método up.

Com os dois métodos, você deve usar o construtor de esquemas do Laravel para criar e modificar tabelas. Para aprender mais sobre os métodos disponíveis no construtor de esquemas, leia a documentação oficial do Laravel. Por exemplo, a seguinte migração cria a tabela flights:

**<?php
use Illuminate\\Database\\Migrations\\Migration;
use Illuminate\\Database\\Schema\\Blueprint;
use Illuminate\\Support\\Facades\\Schema;
return new class extends Migration
{
	public function up(): void    {
		Schema::create('flights', function (Blueprint $table) {
			$table->id();
			$table->string('name');
			$table->string('airline');
			$table->timestamps();
		});
	}

	public function down(): void    {
		Schema::drop('flights');
	}
};**

Executando migrações

Para executar uma migração