@rogeriolino não consegui criar um novo tópico no fórum, por isso estou registrando neste tópico antigo
... Dashboard + NovoSGA 1.5.1 erro com MySQL 5.7 ...
Apenas para registrar um erro que foi solucionado e que passou a ocorrer ao atualizar a versão do MySQL.
Erro: Dashboard (módulo adquirido do @rogeriolino em 2018) não mostra os dados e gráficos da primeira aba em homologação, mas mostra corretamente em produção. Ao apontar o ambiente de homologação para o banco de produção funciona normalmente, portanto o erro não era do código do módulo.
Produção = MySQL 5.5.60-0+deb8u1-log
Homologação = MySQL 5.7.25-log
Causa: variável SQL_MODE em homologação está preenchida e em produção está vazia
Solução: no banco de homologação apagar o conteúdo da variável SQL_MODE para que o SQL opere no modo "forgiving", aceitando instruções SQL que não são semanticamente perfeitas, não atendem o padrão SQL-92.
Porque o erro aconteceu:
Nas linhas 67 a 69 do DashboardController.php existe uma instrução em que a cláusula ORDER BY usa um campo que não está no GROUP BY.
MySQL 5.5: default SQL_MODE = vazio
MySQL 5.7 e superior: default SQL_MODE = ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
Referências:
https://www.percona.com/blog/2019/05/13/solve-query-failures-regarding-only_full_group_by-sql-mode/
https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
Como a solução foi identificada
A 'pista' para descobrir o erro estava nas mensagens apresentadas na janela 'Inspecionar código / Console' do Chrome que é acessada com o botão direito do mouse sobre uma área vazia da tela, ou com as teclas Ctrl+Shift+I
Na janela Console encontramos as mensagens:
DevTools failed to load SourceMap: Could not load content for http://10.1.60.119/sga/public/modules/vetor.dashboard/resources/js/angular.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
GET http://10.1.60.119/sga/public/modules/vetor.dashboard/general 500 (Internal Server Error) angular.min.js?v=1.5.0:93
Ao abrir em uma nova janela do navegador o link http://10.1.60.119/sga/public/modules/vetor.dashboard/general foi apresentada a mensagem:
An exception occurred while executing
'SELECT substring(dt_cheg, 12, 5) as time, COUNT(*) as total
FROM atendimentos
WHERE unidade_id = :unidade
GROUP BY substring(dt_cheg, 12, 5)
ORDER BY dt_cheg DESC LIMIT 60' with params [16]:
SQLSTATE[42000]: Syntax error or access violation:
1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'sga.atendimentos.dt_cheg'
which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
A 'pista' estava no final da mensagem de erro: 'incompatível com sql_mode=only_full_group_by'