15.4 - Resumindo Migrations

Imprimir

15.4 - Resumindo Migrations

 

Você nunca sabe que resultados virão da sua ação. Mas se você não fizer nada, não existirão resultados. (Mahatma Gandhi)



Gerando um backup do banco juntamente com os dados em Migrations:

    Exportar banco de dados existente para uma Migration (apenas a estrutura das tabelas)

bin/cake bake migration_snapshot NomeBanco

Gera a migration para todo o banco em config/Migrations/20190520132718_NomeBanco.php

    Exportar uma tabela juntamente com seus registros

bin/cake bake seed --data users

Gera o arquivo config/Seeds/UsersSeed.php


Limpar todo o banco com rollback

Para remover todas as tabelas do banco execute:

bin/cake migrations rollback


Restaurar todas as tabelas com seus dados

Trazer de volta a estrutura das tabelas e os registros, após ter feito a migration e seeds.

bin/cake migrations migrate
bin/cake migrations seed


Vantagem Extra

Obs.: os arquivos de migrations tem mais uma vantagem. São independentes de SGBD. Funcionam em todos os SGBD suportados pelo CakePHP.


Atualizar aplicativo para a versão atual (3.7.7)

cd aplicativo
composer require --update-with-dependencies "cakephp/cakephp:3.7.*"



Mudando de SGBD

Imagina só, você criou seu aplicativo com o MySQL então precisa mudar para o PostgreSQL. Basta exportar as migrations e as seeds no MySQL, depois criar o banco no PostgreSQL e importar as migrations e seeds. Uma beleza!


Mais detalhes

https://book.cakephp.org/3.0/pt/appendices/3-0-migration-guide.html 
https://book.cakephp.org/3.0/en/upgrade-tool.html