Ao atualizar uma configuração do site, ERRO: identificador delimitado de comprimento zero

No painel administrativo, não consigo alterar nenhum dos campos que ficaram laranja/amarelo — ou seja, só consigo salvar as coisas uma vez (aquelas que ainda não foram atualizadas). Alguma ideia do que poderia ser o problema?

O problema persiste no modo de segurança?

yoursiteurl.com/safe-mode

Sim, ainda recebo um erro no modo de segurança

Você está atrás do Cloudflare?

Sim, temos o Cloudflare :face_with_raised_eyebrow:

Isso deveria ser desativado de alguma forma para o fórum?

Temos uma LONGA história de problemas como esse sendo causados pela Cloudflare.

Tente desativá-la e verifique se o problema desaparece.

Se você precisar dela, pesquise no Meta como desativar todas as “otimizações” da CF.

O alias está configurado com uma nuvem escura — isso ainda causa os problemas?

image

Não, isso significa que o CF está desativado, o que é :+1:

Então, não é o CF que está causando o problema.

Aliás, tentei tanto no Chrome quanto no Firefox para garantir que não se trata de um problema do navegador.

Nesse caso, verifique o caminho da URL /logs como administrador para ver se há algum erro.

Você pode usar as ferramentas de desenvolvedor para ver qual é o erro real?

Quais plugins estão instalados?

Verifiquei os logs e há alguns erros após tentar redefinir uma configuração:

Exceção no Job: PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:11:33.973774' WHERE "site_settings"."" = 1697		7:11 pm
Exceção no Job: PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:27:06.173173' WHERE "site_settings"."" = 1697		7:27 pm
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:39:16.098301' WHERE "site_settings"."" = 1700		7:39 pm
Falha ao tratar a exceção no middleware do app de exceção: PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...'2020-04-14 17:39:16.098301' WHERE "site_settings"."" = 17

Parece que esse erro agora está impedindo nossa migração para outro servidor.

Alguma ideia de como podemos resolver esse problema de banco de dados?

Posso confirmar que a tabela possui um índice? Alguma outra sugestão?

Se executarmos o seguinte diretamente no PostgreSQL:

UPDATE "site_settings" SET "value" = 'Community Forum 2', "updated_at" = '2020-04-24 07:02:39.023579' WHERE "site_settings"."" = 20)

o erro é:

**Erro SQL:**

ERRO: identificador delimitado de comprimento zero em ou próximo a """" LINHA 1: ... '2020-04-24 07:02:39.023579' WHERE "site_settings"."" = 20)

O problema foi resolvido manualmente alterando e comparando as tabelas.

Isso obviamente deveria ser WHERE "site_settings"."id" = 20. Algo deu errado ao carregar o esquema no Rails, ou algo assim.

Correto, houve um problema com o índice da tabela site_settings e não foi fácil corrigir o dump e restaurar um backup :slight_smile: