Schema

class AeonDigital\ORM\Schema
Classe que cria ou atualiza um schema em um banco de dados.
Implements:AeonDigital\Interfaces\ORM\iSchema

Properties

Methods

public AeonDigital\ORM\Schema::generateCreateSchemaFiles()
A partir das informações contidas na fábrica de tabelas de dados para o projeto em
uso, gera um arquivo _schema.php contendo todas as instruções SQL necessárias
para a criação dos modelos no banco de dados alvo.
Returns:‹ bool ›
Throws:‹ Exception ›
Quando a configuração de uma linkTable não está correta.
public AeonDigital\ORM\Schema::listDataBaseTables()
Retorna uma coleção de arrays contendo o nome e a descrição de cada uma das
tabelas do atual banco de dados (mesmo aquelas que não estão mapeadas).
``` php
// O array retornado é uma coleção de entradas conforme o exemplo abaixo:
$arr = [
string "tableName" Nome da tabela.
string "tableDescription" Descrição da tabela.
int "tableRows" Contagem de registros na tabela.
bool "tableMapped" Indica se a tabela está mapeada nos modelos de dados do atual schema.
];
```
Returns:‹ ?array ›
public AeonDigital\ORM\Schema::executeDropSchema()
Remove completamente todo o schema atualmente existente dentro do banco de dados
alvo.
Returns:‹ bool ›
public AeonDigital\ORM\Schema::listTableColumns($tableName)
Retorna uma coleção de arrays contendo o nome, tipo e a descrição de cada uma das
colunas da tabela indicada.
``` php
// O array retornado é uma coleção de entradas conforme o exemplo abaixo:
$arr = [
bool "columnPrimaryKey" Indica se a coluna é uma chave primária.
bool "columnUniqueKey" Indica se a coluna é do tipo "unique".
string "columnName" Nome da coluna.
string "columnDescription" Descrição da coluna.
string "columnDataType" Tipo de dados da coluna.
bool "columnAllowNull" Indica se a coluna pode assumir NULL como valor.
string "columnDefaultValue" Valor padrão para a coluna.
];
```
Parameters:
  • ‹ string › $tableName
    Nome da tabela de dados alvo.
Returns:

‹ ?array ›

public AeonDigital\ORM\Schema::listSchemaConstraint($tableName=null)
Retorna um array associativo contendo a coleção de constraints definidas
atualmente no banco de dados.
``` php
// O array retornado é uma coleção de entradas conforme o exemplo abaixo:
$arr = [
string "tableName" Nome da tabela de dados na qual a regra está vinculada.
string "columnName" Nome da coluna de dados alvo da regra.
string "constraintName" Nome da "constraint".
string "constraintType" Tipo de regra. ["PRIMARY KEY", "FOREIGN KEY", "UNIQUE"]
int "constraintCardinality" Cardinalidade da aplicação da regra.
];
```
Parameters:
  • ‹ ?string › $tableName
    Se for definido, deverá retornar apenas os registros relacionados com a tabela alvo.
Returns:

‹ ?array ›

public AeonDigital\ORM\Schema::executeCreateSchema($dropSchema=false)
Executa o script de criação do schema gerado por último pela função
generateCreateSchemaFiles.
Parameters:
  • ‹ bool › $dropSchema
    Quando true irá excluir totalmente todas as tabelas de dados existentes no banco de dados alvo e então recriar o schema.
Returns:

‹ bool ›

public AeonDigital\ORM\Schema::__construct($factory)
Inicia uma instância de um Schema para lidar com os modelos de dados definidos
para o objeto iDataTableFactory passado.
Parameters:
  • ‹ AeonDigital\Interfaces\ORM\iDataTableFactory › $factory
    Instância de uma fábrica de objetos iTable para o projeto que está sendo usado.
Throws:

‹ Exception ›
Caso não seja possível criar algum dos diretórios do projeto.