Gerenciamento de Banco de Dados no Laravel

Acesse o servidor de hospedagem por um cliente SSH.
Entre no diretório do sistema que usa o Laravel.
Digite o comando:

php artisan migrate:install

 
O comando acima criará uma tabela chamada migrations, que conterá os nomes dos arquivos processados pelo utilitário migrate.
Para criar o arquivo de criação da tabela, digite:

php artisan migrate:make create_users_table

 
Onde create_users_table é o nome do arquivo que será criado, o padrão é “create_tabela_table“.
O comando acima, criará um arquivo com o nome create_users_table.php com o prefixo da data e hora da criação no diretório app/database/migrations, por exemplo:

2014_08_18_065436_create_users_table.php

 
Abra o arquivo criado anteriormente, o conteúdo será algo como:

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProductsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
&#91;/php&#93;
&nbsp;
Dentro do método <strong>up</strong>, digite o conteúdo:
[php]
Schema::create('users', function(Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id')->unsigned(); // primary key
$table->string('fullname', 50);
$table->char('password', 64);
$table->string('email', 100); // unique index
$table->enum('level', array('0', '1'));
$table->enum('active', array('0', '1'));
$table->timestamps(); // created_at, updated_at
$table->rememberToken(); // remember_token
$table->unique('email', 'email');
});

 
O bloco de comando acima, criará uma tabela do tipo InnoDB com o nome users com os campos: id, fullname, password, email, level, active, created_at, updated_at e remember_token; como também, criará uma chave primária para o campo id e um índice único para o campo email. Mais informações acesse aqui.
Dentro do método down, digite o conteúdo:

Schema::drop('users');

 
O comando acima irá apagar a tabela users.
Salve o arquivo, o conteúdo completo do arquivo deverá ser algo como:

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProductsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function(Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id')->unsigned(); // primary key
$table->string('fullname', 50);
$table->char('password', 64);
$table->string('email', 100); // unique index
$table->enum('level', array('0', '1'));
$table->enum('active', array('0', '1'));
$table->timestamps(); // created_at, updated_at
$table->rememberToken(); // remember_token
$table->unique('email', 'email');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}

 
No cliente SSH, digite:

php artisan migrate --force

 
O comando acima criará a tabela users no banco de dados.
Para desfazer a última transação, digite:

php artisan migrate:rollback --force

 
Para desfazer todas as transações, digite:

php artisan migrate:reset --force

 
Para rodar os comandos reset e migrate sucessivamente, digite:

php artisan migrate:refresh --force

 
Os comandos acima aceitam a união do comando seed, por exemplo:

php artisan migrate:refresh --force --seed