Resolvendo a mensagem “X colunas não são compatíveis com o uso de fusos horários” do glpi

Erro de Colunas

A partir do GLPI 9.5 é passível de dar a mensagem “X colunas não são compatíveis com o uso de fusos horários” em inglês seria “X columns are not compatible with timezones”, isso ocorre geralmente porque fez uma atualização de uma versão anterior da 9.5 do GLPI e o sistema de banco de dados precisa tratar fusos horários de forma diferente a partir dessa versão.

Lembrando que isso não é um bug, e sim um aviso do sistema, te informando que se quiser usar fusos horários, será necessário fazer uma migração de tabelas para ser compatível com as mudanças no seu banco de dados seja ele o MariaDB ou Mysql.

Instalações Linux no Geral

Caso essa mensagem, tiver vindo após a instalação de uma versão limpa do GLPI, será necessário na maioria dos sistemas operacionais livres, executar o seguinte comando

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p -u root mysql

Após a execução correta do comando acima, reinicie o serviço do seu banco de dados.

/etc/init.d/mysql restart

Demais Sistemas Operacionais

Lembrando que se for outro sistema operacional, como um Windows ou MAC, terá que buscar essas informações a parte, de acordo com a documentação do seu banco de dados e sistema operacional.

Garantindo o acesso ao Banco de Dados

Para listar os fusos horários possíveis, o usuário do banco de dados GLPI deve ter acesso de leitura na mysql.time_zone_nametabela. 

Supondo que seu usuário seja [email protected], você deve executar algo como:

mysql -u root -p
GRANT SELECT ON `mysql`.`time_zone_name` TO 'glpi'@'localhost';
FLUSH PRIVILEGES;

Após atualização do GLPI de qualquer versão para alguma superior a 9.5

Essa mensagem é mais comum quando se é uma atualização da versão do GLPI anterior a 9.5, para alguma acima da 9.5, para resolver isso, vamos executar o comando o comando abaixo, mas antes acesse a pasta raiz do seu glpi

cd /var/www/html/glpi

E agora sim, vamos executar o comando de migração

php bin/console glpi:migration:timestamps

Observação: Caso o processo fique travado em alguma porcentagem por vários minutos, pode ser necessário interromper temporariamente um processo, depois de start novamente após finalizar o processo

stop php-fpm/apache
start php-fpm/apache

Após tudo isso, a mensagem não deve mais aparecer, basta atualizar a página, geralmente nem é necessário reiniciar os serviços apache2 nem o mysql

Temos alguns outros artigos relacionados a hora do GLPI que podem ser úteis a você.

Segue também a documentação oficial sobre o tema do GLPI: https://glpi-install.readthedocs.io/en/develop/command-line.html#use-timestamp-data-type

Deixe uma resposta