Observação: Este tutorial refere-se ao Laravel-4-BETA, estando totalmente DESATUALIZADO para a versão atual. Muita coisa mudou no framework…
Agora a p0rr4 tá ficando séria!
Vamos começar a montar o banco de dados para a nossa aplicação.
Para isso, vamos utilizar o serviço de Laravel Migrations, um sistema de “versionamento” do banco de dados.
Com o migrations do Laravel vamos ter uma boa automação na criação, edição e exclusão de tabelas.
Configurando o banco de dados
Se você ainda não o fez, FAÇA!
Configure seu banco de dados no arquivo app/config/database.php
Criando o Migration Para as Tarefas
O que estamos construindo é um sisteminha de to-do list.
Então, teremos tarefas (tasks) para serem listadas e concluídas.
Para criar o nosso primeiro migration, executamos na linha de comando:
php artisan migrate:make tasks
O arquivo da migração foi criado dentro da pasta app/database/migrations.
Passou correndo e você não percebeu…
Laravel possui um pequeno cliente para executar ações na linha de comando chamado Artisan.
Com ele iremos executar várias tarefas de forma fácil, dentre elas as migrations.
O arquivo criado para a sua migration possui o nome “dia-hora-da-criação”_tasks.php.
Este arquivo possui dois métodos: up() e down().
O método up é executado quando você manda o Artisan instalar ou atualizar as migrações.
O método down é executado quando fazemos rollback das migrações.
Schema Builder
Precisamos agora descrever o algoritmo para os métodos up e down.
Para isso o Laravel possui um Schema Builder.
Ao invés de escrever comandos SQL, que as vezes são específicos a um SGBD, escreve-se nesse padrão fornecido pelo Laravel tornando seu código multi SGBD.
Para o método up vamos precisar criar a tabela.
Para criar a tabela, o modelo é: Schema::create(‘nome_da_tabela’, function($table) { comandos });.
E ai, dentro do closure criamos as colunas de acordo com a lista de colunas do Schema Laravel.
O arquivo de migration atual ficará assim:
<?php use Illuminate\Database\Migrations\Migration; class Tasks extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('tasks', function($table){ $table->increments('id'); //coluna de id auto-increment $table->string('titulo', 100); //coluna de titulo, varchar de 100 caracteres $table->boolean('status')->default(FALSE); //booleano iniciando em falso //criando duas colunas, uma marca o timestamp de quando a TASK é criada e a outra coluna //marca o timestamp de quando a TASK for alterada $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('tasks'); //se a tabela existir, exclui } }
Rodando as Migrações
E agora, é só rodar as migrações e ser feliz
php artisan migrate
Ao final você verá que seu banco de dados possui 2 tabelas:
tasks – que é a tabela que descrevemos
migrations – tabela utilizada pelo Laravel para saber quais migrações já foram feitas. É com ela que ele controla as atualizações e os rollbacks.
Por hora chega.
Sinta-se feliz, com quase nada de código já criou DUAS tabelas no banco de dados 😀
O código fonte do projeto encontra-se no GitHub.
https://github.com/frenetic/todovel
Só um detalhe: o método executado no laravel 4 é migrate:make e lá em cima foi usado migration:make
Belo blog
Valeu 😀
As vezes quando to escrevendo os posts algumas coisas passam batido…
Mais dois detalhes para os que podem ficar confusos com a rapidez das explicações:
1 – o comando php artisan deve ser executado dentro da pasta do projeto.
2 – o arquivo de migração (data_hora_tasks.php) encontra-se na pasta app/database/migrations
Realmente é fácil criar esquemas no Laravel! 😀
Recentemente, precisei fazer uma migração, e o MigrateDB me caio como uma luva ^^
achei bem mais fácil
https://github.com/malukenho/MigrateDB