menu
Fórum Adianti
menu Menu
TQuery 1.0.3 - Execute arquivos .sql no seu projeto Olá pessoal! Estou de volta com as contribuições. Hoje trago a TQuery que executa arquivos .sql do seu projeto. Ótima para scripts de exportação de dados e para relatórios mais performáticos. Veja mais detalhes em: https://github.com/JhefersonBR/TQuery Instale minha contribuição apenas com um comando: composer require 'jheferson-br/tquery'...
JG
TQuery 1.0.3 - Execute arquivos .sql no seu projeto  
Olá pessoal!
Estou de volta com as contribuições.
Hoje trago a TQuery que executa arquivos .sql do seu projeto.
Ótima para scripts de exportação de dados e para relatórios mais performáticos.
Veja mais detalhes em:

https://github.com/JhefersonBR/TQuery

Instale minha contribuição apenas com um comando:

composer require 'jheferson-br/tquery'

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (7)


AC

Ai sim, mano veí!!!

Melhorando a relação com o framework!

Esse cara é foda!
B

Parabéns mesmo pelos projetos e iniciativas!!

No About dos projetos do GitHub podería incluir os topicos : adianti e adianti-framework
JG

Bjverde<b/> muito obrigado pelo toque.
Realmente não havia me atentado para isso, não conheço o Github muito a fundo.
Vlw
RA

Assim mano!
PN

Bom dia Jheferson,

Achei seu componente muito porreta e baixei para testar. Tentei executar um comando bem simples (TRUNCATE TABLE public.system_access_log;) e ele está apresentando o seguinte erro:

Warning: Invalid argument supplied for foreach() in /var/www/html/vertticalERP/app/lib/util/erp/TQuery.php on line 76

Abs,

Paulo Nobre
PN

Salve Jheferson,

Para dar continuidade aqui nesse meu teste, precisei ajustar algumas coisinhas no seu código. Não sei se são pertinentes ou se vc aprova, mas depois desses, deu certo como esperado !!!:

1) Na função buildQuery:

if (!empty($this->query_separator))
{
$this->querys = explode($this->query_separator, $query);
}
else
{
$this->querys = $query; <<----- SEU FONTE ORIGINAL ESTAVA $this->query, ENTÃO TROQUEI PARA $this->querys
}

2) E a função execute, ficou assim:

public function execute()
{
try {

$this->buildQuery();

$totalRows = 0;

if (is_array($this->querys)) <<--- COLOQUEI PARA EVITAR QUANDO NO ARQUIVO .SQL VIER SOMENTE UM COMANDO
{

foreach ($this->querys as $key => $query)
{

if (!empty(trim($query)))
{
TTransaction::log($query);

$totalRows += $this->pdo->exec($query);
}
}

}
else
{

TTransaction::log($query);

$totalRows += $this->pdo->exec($this->querys);

}

return $totalRows;

}
catch (Exception $e)
{
throw new Exception($e->getMessage());
}
}

Abs,

Paulo Nobre
JG

Faaala Paulo!
Muito obrigado pela dica, irei implementar sua sugestão com certeza.
Vlw mestre.