Você está exportando a variável de ambiente DATABASE_URL
antes de rodar o comando?
Erro Reset automático senha v2.0.8
- Editado
@rogeriolino
Devido ao bug que esta dando no redirecionamento da senha com o banco Postgres que relatei no post https://discuss.novosga.org/d/287-erro-ao-encerrar-e-redirecionar-atendimento/3.
Eu reinstalei meu servidor usando banco MARIADB e consegui roda o comando alterando o arquivo doctrine.yaml na linha aonde esta " url: '%env(resolve: DATABASE_URL)%' "coloquei direto a "url: 'mysql://novosga:senha@localhost:3306/novosgadb' ".
Então coloquei para executar via cron o comando de reset das senhas mas essa noite não reiniciou as senhas e ao tentar rodar o comando na mão apresentou esse erro.
* In AbstractMySQLDriver.php line 55:
An exception occurred while executing '
INSERT INTO historico_atendimentos
(
id, num_local, dt_age, dt_cheg, dt_cha, dt_ini, dt_fim, tempo_espera, tempo_permanencia, tempo_atendimento, tempo_deslocamento, status, resolucao, observacao, senha_sigla, senha_numero, cliente_id, unidade_id, se
rvico_id, prioridade_id, usuario_id, usuario_tri_id, atendimento_id
)
SELECT
a.id, a.num_local, a.dt_age, a.dt_cheg, a.dt_cha, a.dt_ini, a.dt_fim, a.tempo_espera, a.tempo_permanencia, a.tempo_atendimento, a.tempo_deslocamento, a.status, a.resolucao, a.observacao, a.senha_sigla, a.senha_nu
mero, a.cliente_id, a.unidade_id, a.servico_id, a.prioridade_id, a.usuario_id, a.usuario_tri_id, a.atendimento_id
FROM
atendimentos a
WHERE
a.dt_cheg <= :data AND (a.unidade_id = :unidade OR :unidade = 0)
AND a.atendimento_id IS NOT NULL' with params ["2019-10-29 08:53:39", 0]:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22' for key 'PRIMARY'
* In PDOStatement.php line 119:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22' for key 'PRIMARY'
* In PDOStatement.php line 117:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22' for key 'PRIMARY'
Fiz um teste no outro servidor que esta com o Banco Postgres e também esta apresentando erro mas é diferente do MARIADB
* In AbstractPostgreSQLDriver.php line 48:
An exception occurred while executing '
DELETE FROM atendimentos
WHERE
dt_cheg <= :data AND
(unidade_id = :unidade OR :unidade = 0)
' with params ["2019-10-29 11:53:36", 0]:
SQLSTATE[23503]: Foreign key violation: 7 ERRO: atualização ou exclusão em tabela "atendimentos" viola restrição de chave estrangeira "fk_cbbdf95f76323123" em "historico_atendimentos"
DETAIL: Chave (id)=(126) ainda é referenciada pela tabela "historico_atendimentos".
* In PDOStatement.php line 119:
SQLSTATE[23503]: Foreign key violation: 7 ERRO: atualização ou exclusão em tabela "atendimentos" viola restrição de chave estrangeira "fk_cbbdf95f76323123" em "historico_atendimentos"
DETAIL: Chave (id)=(126) ainda é referenciada pela tabela "historico_atendimentos".
* In PDOStatement.php line 117:
SQLSTATE[23503]: Foreign key violation: 7 ERRO: atualização ou exclusão em tabela "atendimentos" viola restrição de chave estrangeira "fk_cbbdf95f76323123" em "historico_atendimentos"
DETAIL: Chave (id)=(126) ainda é referenciada pela tabela "historico_atendimentos". *
rarandrade Amigo .. qual versao do SGA vc recomendaria? Vejo que tem muitos problemas essa versao 2.0.8 ..
A versão 1.5.1 seria a melhor? O que voce acha? Valeu!
- Editado
Atualmente eu utilizo a versão 1.5.1 para gerenciar todo o atendimento Ambulatorial do Hospital aonde Trabalho são em media 650 senhas emitidas todos os dias, nesta versão fizemos algumas modificações para atender melhor a nossa instituição juntamente com algumas customizações no Painel, essa versão esta bem estável e já utilizamos ela desde 2016 sem nenhum problema.
A versão nova 2.0.8 trabalha com um Framework mais robusto que utiliza PHP 7, mas na minha opinião ficou mais complicado para fazer alterações no código original eu consegui corrigir alguns erro que encontrei outro já não consegui solucionar. Estou tentando iniciando um piloto com essa nova versão para atender a demanda do pronto atendimento do hospital juntamente com mais dois ambulatórios de outros dois hospitais que assumimos gestão.
Estou testando ao máximo a versão 2.0.8 para conseguir identificar bugs que ela possa ter, visto que ela não é a versão final e pelo um post que o @rogeriolino fez ao um tempo atras ele mesmo já esta pensando em partir para uma nova versão 3.0.
- Editado
rarandrade Muito bom saber disso. Veja .. estou usando a 1.5 .. vc sabe o que mudou dela pra 1.5.1?
Obrigado!
A versão v2.0.8 é final sim. Eu utilizo em produção. Mas realmente há a intenção de já pular para a v3.0.
- Editado
Consegui resolver o erro que estava dando no reset da senha no MARIADB o que estava acontecendo e que o INSERT na tabela "historico_antedimento" esta pegando o id da tabela "atendimentos" isso causava duplicidade da CHAVE PRIMARIA.
Para corrigir essa situação e fiz a seguinte alteração no arquivo RelationalStorage.php incluindo substr no INSERT e no SELECT para não pegar o campo id ficou desta forma.
- novosga\src\Infrastructure\Storage\RelationalStorage.php
- // copia os atendimentos para o historico
No postgres ainda não consegui solucionar o erro poderia dar uma olhada nisso ?$sql = " INSERT INTO {$historicoTable} ( " . substr(join(', ', $historicoColumns),4) . " ) SELECT a." . substr(join(', a.', $historicoColumns),6) . " FROM {$atendimentoTable} a WHERE a.dt_cheg <= :data AND (a.unidade_id = :unidade OR :unidade = 0) ";
- // copia os atendimentos para o historico
rarandrade o problema da duplicidade da senha é quando a sequência volta do 1. Problema do MySQL.
Quando mover para o histórico é para manter o mesmo id. Se trata do mesmo atendimento, porém movido para histórico. Tem que manter o serviços codificados também.
Na próxima versão, esse problema não irá acontecer. O id sequencial será substituído por uma chave UUID.
rogeriolino e como faz para resolver na versão 2.0.8? as senhas já passaram de 1124 em 1 semana de uso
ao tentar resetar em Configurações\Sistema\Reiniciar senhas, da erro de Invalid AJAX response
Acredito que esse erro foi resolvido na versão v2.0.10:
rogeriolino para atualizar da versão 2.0.8, preciso fazer algum comando, ou só a troca dos arquivos?
ou tem que refazer todo o passo a passo de instalação?
HudsonMota só substituir os arquivos mesmo, caso você não tenha feito nenhuma customização.