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.

Comandos de terminal para auxiliar no desenvolvimento de aplicações com CakePHP 3.x à CakePHP 5.x

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ê.