Atualização 3.1.18b3 - Colab
Atualização 3.1.18b3
6 de Outubro de 2015 às 19:57
Ao tentar atualizar para versão 3.1.18b3 do módulo gerente, não possível avançar no passo abaixo:
Ocorreu os erros abaixo:
An exception occurred while executing 'DROP INDEX aquisicao_item_pkey':
SQLSTATE[2BP01]: Dependent objects still exist: 7 ERROR: cannot drop index aquisicao_item_pkey because constraint aquisicao_item_pkey
on table aquisicao_item requires it
HINT: You can drop constraint aquisicao_item_pkey on table aquisicao_item instead.
Após isso não foi mais possível acessar o módulo gerente pelo browser.
Lancei uma correção pra esse erro ontem. Inclusive criei mais um release pra incorporar essa correção (3.1.18b4).
Como foi uma correção pequena, você pode executar esse script direto no banco e continuar a atualização:
https://github.com/lightbase/cacic/raw/master/src/Cacic/CommonBundle/Resources/data/upgrade-3.1.18.sql
Enviadas: Terça-feira, 6 de outubro de 2015 16:57:01
Assunto: [cacic] Atualização 3.1.18b3
Superado o erro anterior, obrigado.
Porém agora estamos parados nessa etapa:
Está gerando o erro abaixo:
Could not create table monolog_entries for Doctrine Monolog connection
Enviadas: Quarta-feira, 7 de outubro de 2015 8:37:12
Assunto: Re: [cacic] Atualização 3.1.18b3
Ah sim, desculpe. Precisa instalar o php-sqlite. Vou atualizar o manual.
Tem várias maneiras de instalar, mas algo do tipo apt-get install php-sqlite é suficiente.
Enviadas: Quarta-feira, 7 de outubro de 2015 10:48:26
7 de Outubro de 2015 às 18:06
Conseguimos prosseguir após as últimas dicas, porém concluímos com os seguintes erros:
após executar o comando
Migration 20150814171928 failed during Execution. Error An exception occurred while executing 'CREATE OR REPLACE FUNCTION upgrade_3118() RETURNS VOID AS $$
prop record;
DROP TABLE aquisicao_item_bk;
RAISE NOTICE 'Atualização terminada!';
$$ LANGUAGE 'plpgsql';':
SQLSTATE[42501]: Insufficient privilege: 7 ERROR: must be owner of function upgrade_3118
An exception occurred while executing 'CREATE OR REPLACE FUNCTION upgrade_3118() RETURNS VOID AS $$
soft record;
Enviadas: Quarta-feira, 7 de outubro de 2015 11:05:10
Na verdade a atualização não foi bem sucedida. É uma questão de privilégio na base de dados: o usuário que executou o arquivo no banco de dados é um e o usuário que roda o banco pelo sistema é outro. Exemplos que podem causar o erro:
Executo como usuário postgres
$ psql -f arquivo.sql cacic
Nesse caso, o usuário do banco vai criar a função de atualização como usuário postgres. Como a aplicação deve ser acessada com outro usuário, tipo www-data se for Apache, ele não vai conseguir executar nada do que for feito a partir do arquivo.
Para resolver essa questão, certifique-se de executar tudo com o mesmo usuário da aplicação, ou algo do tipo:
$ psql -U www-data -f arquivo.sql cacic
Caso já tenha executado, tente mudar o dono
$ psql cacic
# alter function upgrade_3118() owner to www-data;
Enviadas: Quarta-feira, 7 de outubro de 2015 15:06:27
exception error function constraint owner privilege roballo drop item table php pkey hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh executing enviadas create erro atualização return cacic doctrine aquisicao upgrade sqlstate