Ocurrió un error al restaurar desde una copia de seguridad: discourse_functions.raise_discourse_voting_category_settings_readonly() no existe

Hola,

Tengo una copia de seguridad realizada con nuestra instancia principal de Discourse versión 3.4.0.beta1-dev 633a19fcc09a41a31eadd176519483217b2ec241

Quiero subir esta copia de seguridad a una instancia local, es una instalación nueva con Discourse versión 3.4.0.beta1-dev 2b577950af5b24ed0d32eecc4ab6475619998fba

Aquí está el registro, ¿alguna sugerencia para una solución 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

¿Tienes el mismo conjunto de complementos en tu instancia local?

1 me gusta

Hola,

No, el problema era que el Post Voting Plugin no estaba instalado. Curiosamente, no estaba habilitado en el sitio principal (solo instalado por defecto), pero supongo que eso fue suficiente para causar el error. Gracias.

2 Me gusta

Estoy recibiendo el mismo error en una instancia de desarrollo (donde acabo de actualizar a pg16 para obtener el último pgvector que estaba causando que esta restauración fallara anteriormente) que acabo de git pullear.

He añadido tanto la votación de publicaciones como la votación de temas (la votación de temas estaba en la fuente).

Mi instinto fue

 DROP table discourse_voting_category_settings;

Pero luego necesité agregar CASCADE y me acobardé y traté de restaurar en staging.

En un sitio de staging, si intento restaurar la misma base de datos, obtengo esto:

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'

Eso parece diferente. Lo olvidé en las últimas tres semanas, pero desde entonces hemos tenido algunos casos de copias de seguridad que no se pudieron restaurar cuando el plugin de votación de publicaciones no estaba instalado. Así que eso es seguro.

Pero hotlinked_media_status es una tabla principal de 2022… así que debe ser algo diferente.

./db/migrate/20220428094026_create_post_hotlinked_media.rb

(Por cierto, mantengo un diario de todos los problemas de los últimos 11 años y no tengo ninguna mención de ese).

2 Me gusta

Bueno, ¡me aseguré de que la instancia de desarrollo tenga todos los complementos que tiene el sitio de producción y restauré la copia de seguridad allí!

Pero el sitio de staging (que por alguna razón no tiene el complemento de autenticación de Microsoft, ¡pero no puede ser eso, ¿verdad?!) todavía tiene el problema de EXCEPTION: psql failed: ERROR: type \"hotlinked_media_status\" already exists.

Pero si tan solo hubiera buscado:

Parece que algo similar se arregló una vez. . .

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