Next BP 24.174.2

Migration
in package

AbstractYes

Classe base das migrations de db/migrations/AAAAMMDDHHMMSS_slug.php.

Cada arquivo de migration faz "return" de uma instancia desta classe (normalmente uma classe anonima) implementando up() e, quando suportar rollback (-dbu --rollback / --rollback-to), down(). Use \Sys\DB::exec / \Sys\DB::query dentro dos dois metodos - mesma abstracao do restante do sistema (config, Log, BusinessException).

Pros casos simples (criar/apagar tabela, coluna ou indice), use os helpers abaixo dentro de up() e NAO sobrescreva down() - ele e desfeito sozinho, na ordem inversa de como foi chamado:

function up() { $this->criar_tabela('tarefa_etiqueta', 'id INT NOT NULL PRIMARY KEY, nome VARCHAR(50) NOT NULL'); $this->criar_coluna('tarefa', 'etiqueta_id', 'INT NULL'); } // sem down() - desfaz sozinho: apaga a coluna, depois apaga a tabela.

Pra tudo que nao seja um desses (mudar dado, alterar tipo de coluna, procedure/trigger/view complexos etc), sobrescreva down() manualmente - nao da pra inferir com seguranca como desfazer um UPDATE ou um ALTER de tipo.

Tags
author

Bighetti (padrao existente do Atualizacao_DAO)

Table of Contents

Methods

down()  : mixed
So chamado pelo Migration_Runner quando a migration NAO sobrescreve down() e nao tem nada salvo em atualizacao.down_auto pra essa migration (ex: aplicada antes dessa coluna existir). Sobrescreva down() vc mesmo pra qualquer coisa que os helpers nao cobrem.
obter_reversiveis()  : mixed
Lista (na ordem inversa de execucao) do SQL que desfaz o que os helpers fizeram em up(). Usado pelo Migration_Runner pra persistir o "down" junto do registro de aplicacao - up() e down() rodam em execucoes separadas de "php cli.php", entao esse array em memoria nao sobrevive ate um eventual --rollback.
up()  : mixed
apagar_coluna()  : mixed
Apaga a coluna, guardando o tipo/null/default atuais (SHOW COLUMNS) pra recriar identica no down().
apagar_indice()  : mixed
Apaga o indice, guardando as colunas atuais (SHOW INDEX) pra recriar identico no down().
apagar_tabela()  : mixed
Apaga a tabela, guardando a estrutura atual (SHOW CREATE TABLE) pra recriar identica no down().
criar_coluna()  : mixed
criar_indice()  : mixed
criar_tabela()  : mixed

Methods

down()

So chamado pelo Migration_Runner quando a migration NAO sobrescreve down() e nao tem nada salvo em atualizacao.down_auto pra essa migration (ex: aplicada antes dessa coluna existir). Sobrescreva down() vc mesmo pra qualquer coisa que os helpers nao cobrem.

public down() : mixed

obter_reversiveis()

Lista (na ordem inversa de execucao) do SQL que desfaz o que os helpers fizeram em up(). Usado pelo Migration_Runner pra persistir o "down" junto do registro de aplicacao - up() e down() rodam em execucoes separadas de "php cli.php", entao esse array em memoria nao sobrevive ate um eventual --rollback.

public obter_reversiveis() : mixed

apagar_coluna()

Apaga a coluna, guardando o tipo/null/default atuais (SHOW COLUMNS) pra recriar identica no down().

protected apagar_coluna(mixed $tabela, mixed $coluna) : mixed
Parameters
$tabela : mixed
$coluna : mixed

apagar_indice()

Apaga o indice, guardando as colunas atuais (SHOW INDEX) pra recriar identico no down().

protected apagar_indice(mixed $tabela, mixed $indice) : mixed
Parameters
$tabela : mixed
$indice : mixed

apagar_tabela()

Apaga a tabela, guardando a estrutura atual (SHOW CREATE TABLE) pra recriar identica no down().

protected apagar_tabela(mixed $tabela) : mixed
Parameters
$tabela : mixed

criar_coluna()

protected criar_coluna(mixed $tabela, mixed $coluna, mixed $definicao) : mixed
Parameters
$tabela : mixed
$coluna : mixed
$definicao : mixed

criar_indice()

protected criar_indice(mixed $tabela, mixed $indice, mixed $colunas) : mixed
Parameters
$tabela : mixed
$indice : mixed
$colunas : mixed

criar_tabela()

protected criar_tabela(mixed $tabela, mixed $definicao_colunas) : mixed
Parameters
$tabela : mixed
$definicao_colunas : mixed

        
On this page

Search results