Ocorreu um erro ao restaurar a partir de um backup: discourse_functions.raise_discourse_voting_category_settings_readonly() não existe

Olá,

Tenho um backup feito usando nossa instância principal na versão Discourse 3.4.0.beta1-dev 633a19fcc09a41a31eadd176519483217b2ec241

Quero fazer o upload deste backup para uma instância local, que é uma instalação nova rodando a versão Discourse 3.4.0.beta1-dev 2b577950af5b24ed0d32eecc4ab6475619998fba

Aqui está o log, alguma sugestão de solução alternativa?

[2024-08-03 16:45:29] CREATE INDEX
[2024-08-03 16:45:29] CREATE INDEX
[2024-08-03 16:45:29] ERROR:  function discourse_functions.raise_discourse_voting_category_settings_readonly() does not exist
[2024-08-03 16:45:29] EXCEPTION: psql failed: ERROR:  function discourse_functions.raise_discourse_voting_category_settings_readonly() does not exist

Você tem o mesmo conjunto de plugins na sua instância local?

1 curtida

Olá,

Eu não, o problema era que o Post Voting Plugin não estava instalado. Curiosamente, ele não estava habilitado no site principal (apenas instalado por padrão), mas acho que isso foi o suficiente para causar o erro. Obrigado.

2 curtidas

Estou recebendo o mesmo erro em uma instância de desenvolvimento (onde acabei de atualizar para o pg16 para obter o pgvector mais recente que estava causando essa falha na restauração anteriormente) que acabei de git pulled.

Adicionei tanto a votação de posts quanto a votação de tópicos (a votação de tópicos estava na origem).

Minha inclinação foi

 DROP table discourse_voting_category_settings;

Mas então precisei adicionar CASCADE e desisti e tentei restaurar para o staging.

Em um site de staging, se eu tentar restaurar o mesmo banco de dados, recebo isso:

ERROR:  type "hotlinked_media_status" already exists
EXCEPTION: psql failed: ERROR:  type "hotlinked_media_status" already exists
/var/www/discourse/lib/backup_restore/database_restorer.rb:92:in `restore_dump'
/var/www/discourse/lib/backup_restore/database_restorer.rb:26:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:51:in `run'

Isso parece diferente. Eu me esqueci disso nas últimas três semanas, mas desde então tivemos alguns casos de backups falhando ao restaurar quando o plugin de votação de postagens não estava instalado. Então, isso é uma coisa com certeza.

Mas hotlinked_media_status é uma tabela principal de 2022… então isso deve ser algo diferente.

./db/migrate/20220428094026_create_post_hotlinked_media.rb

(A propósito, eu mantenho um diário de todos os problemas dos últimos 11 anos e não tenho nenhuma menção a esse.)

2 curtidas

Bem, eu me certifiquei de que a instância de desenvolvimento tenha todos os plugins que o site de produção tem e restaurei o backup lá!

Mas o site de staging, (que está faltando o plugin de autenticação da Microsoft por algum motivo, mas não pode ser isso, pode?!?!?!) ainda tem o problema EXCEPTION: psql failed: ERROR: type "hotlinked_media_status" already exists.

Mas se eu tivesse procurado:

Parece que algo semelhante foi corrigido uma vez. . .

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.