Cauan Cabral's.

Dica Rápida: usando tipos “complexos” com Migrations no Phinx

Cauan Cabral
Cauan Cabral
Posted underCakePHPDesenvolvimento Web

Essa é uma dica bem curta e realmente rápida pra registrar algo que precisei pesquisar algumas vezes nos últimos anos e sempre me esqueço.

Cena: você define uma tabela no seu projeto e gostaria de usar uma coluna com o tipo tsvector (como citei em posts recentes) ou então uuid. Você quer usar as funções do banco de dados para gerar o valor default para a coluna. Como fazer isso usando Migrations baseada no Phinx sem recorrer a SQL cru?

Resposta: utilize a classe Phinx\Util\Literal.

$this->table('posts')
    ->addColumn('id', 'uuid', [
        'default' => \Phinx\Util\Literal::from('gen_random_uuid()'),
        'null' => false
    ])
    ->save();

Literal pode ser utilizado tanto para definir valor default baseado em funções quanto para conversão entre tipos para uma mesma coluna (fazer CAST do antigo formato para o novo).

TaggedCakePHPmigrationphinx


pgModeler – gerando o seu binário

Cauan Cabral
Cauan Cabral

Tem algumas aplicações que são icônicas pra gente – por diversas razões – no meu caso, alguns destes são winamp, mIRC, Macromedia Flash MX, Amarok, Kompare, MySQL Workbench e Gitlab. Outro que conheci e me deixou admirado quando descobri foi o pgModeler, primeiro pela qualidade da aplicação em si que é o mais próximo do […]

Next.js + Vercel + WordPress

Cauan Cabral
Cauan Cabral

Uso e trabalho com PHP há muitos anos e lá atrás as coisas eram bem complicadas – CMS era um palavrão que ninguém entendia muito bem como funcionava, as opções eram escassas e invariavelmente a gente caia no colo do phpnuke (ou aspnuke, dependendo do seu azar), que era terrível de customizar e estender. Até […]