Comandos de terminal para auxiliar no desenvolvimento de aplicações com CakePHP 3.x à CakePHP 5.x
Alguns comandos básicos do framework que o ajudarão a desenvolver seu projeto.
Caso você utilize docker para rodar os seus projetos então precisa entrar na máquina do Docker e realizar os comandos abaixo. Caso você não saiba como entrar na máquina do docker vou disponibilizar um link abaixo com alguns comandos básicos que poderão te ajudar em 👉 Comandos de terminal para auxiliar no desenvolvimento de aplicações com Docker + Docker Compose
1) Para criar uma nova migração então rode o seguinte comando:
bin/cake migrations create NomedasuaMigracao
2) Se você usa linux provavelmente quando rodar o comando acima [1] logo irá criar um arquivo com permissão. Então você precisará dar permissão para editar o arquivo:
sudo chown nome-do-seu-user:nome-do-seu-user config/Migrations -R
3) Este é um exemplo básico de criação e uso de migração:
<?php
use Migrations\AbstractMigration;
use Phinx\Db\Adapter\MysqlAdapter;
class ProdutosExemplo1 extends AbstractMigration
{
/**
* Change Method.
*
* More information on this method is available here:
* http://docs.phinx.org/en/latest/migrations.html#the-change-method
* @return void
*/
public function change()
{
$produtos = $this->table('produtos');
$produtos
->addColumn('nome', 'string', [
'null' => true,
'default' => null,
'limit' => 255,
])
->addColumn('slug', 'text', [
'null' => true,
'default' => null,
'limit' => MysqlAdapter::TEXT_LONG,
])
->addColumn('image', 'string', [
'null' => true,
'default' => null,
'limit' => 255,
])
->addColumn('status', 'boolean', [
'null' => true,
])
->addColumn('created', 'datetime', [
'null' => true,
'timezone' => true,
])
->addColumn('modified', 'datetime', [
'null' => true,
'timezone' => true,
])
->create();
}
}
4) Para rodar a migração e atualizar seu banco de dados então rode o seguinte comando:
bin/cake migrations migrate
5) Para desfazer a migração que realizou anteriormente [4] então rode o seguinte comando:
bin/cake migrations rollback
6) Este é um exemplo básico de como fazer uma atualização da coluna do banco de dados::
<?php
use Migrations\AbstractMigration;
class ProdutosExemplo2 extends AbstractMigration
{
/**
* Change Method.
*
* More information on this method is available here:
* http://docs.phinx.org/en/latest/migrations.html#the-change-method
* @return void
*/
public function change()
{
$produtos = $this->table('produtos');
$produtos
->addColumn('data_publicacao', 'datetime', [
'null' => true,
'timezone' => true,
'default' => null,
])
->update();
}
}
7) Para Limpar o cache no CakePHP 3.x à CakePHP 5.x rode o seguinte comando:
bin/cake cache clear_all 8) Para atualizar as tabelas da ACL usado exclusivamente no CakePHP 3.x:
bin/cake acl_extras aco_sync
9) Caso você tem um plugin so AssetCompress para compilar os estilos então rode esse comando exclusivamente no CakePHP 3.x
bin/cake AssetCompress.AssetCompress build --force
10) Para compilar os estilos do AssetCompress exclusivamente no CakePHP 2.x
chmod +x Console/cake ./Console/cake AssetCompress.asset_compress build
11) Se você tiver o plugin da ACL dentro do projeto então você precisa rodar o comando de migração da ACL para criar as tabelas usado exclusivamente no CakePHP 3.x:
bin/cake migrations migrate -p AuditLog
Esses são alguns dos comandos que eu mais uso, espero que sejam úteis para você.