24 de maio de 2019
As Models são classes responsáveis pela administração dos dados. Elas são inseridas no diretório \app

As Migrations foram criadas no Laravel para o uso do controle de versão e o compartilhamento das alterações de um BD entre os desenvolvedores de uma equipe. Com uma Migration, é possível construir ou modificar as tabelas do seu banco sem a necessidade de realizar isso manualmente no phpMyAdmin.

Antes de criar as Migrations você precisa criar um banco de dados em branco no phpMyAdmin e inserir seus dados de acesso para conexão presentes no arquivo .env que se encontra na pasta raiz do seu projeto.

Vamos ao que interessa:

1 - Para criar uma Model, é necessário abrir o Windows PowerShell ou CMD e navegar até a pasta C: com o comando "cd \" e logo após, navegar até a pasta do seu projeto com o comando "cd \xampp\htdocs\nomeDoSeuProjeto" (estou supondo que você utiliza o Xampp). Após isso, basta executar o comando:

"php artisan make:model NomeDaModel -m"





2 - Uma model então é criada dentro da pasta citada no passo 1. Além disso, é criado uma migration com o mesmo nome da model no caminho (\database\migrations).

3 - Se você quiser criar somente a Model. Execute o comando: "php artisan make:model NomeDaModel"




4 - Se você quiser criar somente a Migration. Execute o comando: "php artisan make:migration NomeDaMigracao"




5 - O comando "php artisan make:migration create_table_products --create=products" cria, por exemplo, uma migration da tabela products já com os métodos up e down.




Método UP - Responsável pela implementação das atualizações do banco, criar uma tabela, atualizar uma coluna, etc.

Método Down - O inverso da função UP. Reverte o banco de dados ao estado anterior a esta atualização.

6 - Após criar suas migrations com os dados de interesse e fazer sua conexão como banco, utilize o comando "php artisan migrate" no terminal para construir as tabelas.



7 - Caso durante a criação das tabelas apareça o seguinte erro: "SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes"



Será preciso acessar o arquivo: AppServiceProvider no caminho App/Providers:



E inserir a seguinte linha dentro do método boot:

\Illuminate\Support\Facades\Schema::defaultStringLength(191);

Vai ficar assim:

    public function boot()
    {
        \Illuminate\Support\Facades\Schema::defaultStringLength(191);
    }

Logo depois, é necessário apagar todas as tabelas da base de dados e executar novamente o comando "php artisan migrate" de acordo com o passo 3 para construir novamente as tabelas.

Por hoje é só. Até a próxima!



Comentários:

Perfil

Formada em Sistemas de Informação e pós-graduada em Engenharia de Software.