Migrations no Yii Framework 2 — Parte 1

Cálcio Heavy Metal
PHPRio
Published in
2 min readJan 6, 2017

--

No artigo anterior mostrei como fazer a configuração do basic template do projeto vitrine. Hoje falarei sobre as migrations.

O que são as Migrations

As migrations (migrações) são uma parte muito importante da nossa aplicação, pois com ela conseguimos criar e alterar todas as estrutura de nossas tabelas. Elas não passam de arquivos em PHP que fazem escrita no nosso schema do bando de dados.

Tá e aí? O que eu consigo fazer com isso?

  • Criar novas migrations;
  • Aplicar as migrations criadas;
  • Reverter;
  • Re-aplicar;
  • Histórico de tudo que foi executado na migration.

O que se pode fazer com as Migrations

Basicamente o que a migration faz é criar, alterar e dropar suas tabelas, criar apagar ou alterar campos da sua tabela, criar chaves e relacionamentos, inserir alguns dados iniciais na tabela e etc. Praticamente tudo que você faz no seu gerenciador de banco de dados, pode ser feito através das migrarions.

Algumas vantagens das Migrations no Yii2

No Yii2 ainda temos algumas vantagens em se usar as migrations, como por exemplo, uma estrutura já prontinha para cadastro de clientes. Ou seja, ele já cria essa tabela clientes. Mas essa facilidade é somente do template advanced.

Documentação das Migrations no Yii2

Tudo que precisa saber sobre as migrations se encontra na documentação do Yii2 em http://www.yiiframework.com/doc-2.0/guide-db-migrations.html

Criação e execução da migration users

Para o template basic, precisamos criar o diretório migrations na raiz da aplicação para criar nossa primeira migration que será a tabela users.

Abra o seu terminal (GNU/Linux de preferência) e acesse a raiz do projeto vitrine e digite o comando php yii migrate/create users. Com esse simples comando ele criou o arquivo m170104_184151_users.php (esse é o formato de criação dos arquivos de migration m<YYMMDD_HHMMSS>_<Name>) dentro do diretório migrations.

Copie o código abaixo para criar os campos da tabela users

https://github.com/Calcio/vitrine/blob/master/migrations/m170104_184151_users.php

Para executar sua(s) migrations basta rodar o comando php yii migrate no terminal.

Para verificar se a tabela foi realmente criada no seu banco, acesse seu editor preferido (phpmyadmin) e verá que no seu banco vitrine aparecerá a tabela migration, que faz um log (histórico) de todas as migrations executadas e também a tabela users e também o primeiro usuário.

OBS: O usuário e senha criado, como visto no código são, usuário: admin e senha: admin.

Na segunda parte desse artigo criaremos todas as outras migrations para nosso sistema vitrine.

--

--