Beim Wiederherstellen aus einem Backup ist ein Fehler aufgetreten: discourse_functions.raise_discourse_voting_category_settings_readonly() existiert nicht

Hallo,

Ich habe ein Backup, das mit unserer Hauptinstanz Discourse 3.4.0.beta1-dev Version 633a19fcc09a41a31eadd176519483217b2ec241 erstellt wurde.

Ich möchte dieses Backup auf eine lokale Instanz hochladen, es ist eine frische Installation mit Discourse 3.4.0.beta1-dev Version 2b577950af5b24ed0d32eecc4ab6475619998fba.

Hier ist das Protokoll, gibt es Vorschläge für eine Problemumgehung?

[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

Haben Sie die gleichen Plugins auf Ihrer lokalen Instanz?

1 „Gefällt mir“

Hallo,

Ich habe das nicht getan, das Problem war, dass das Post Voting Plugin nicht installiert war. Interessanterweise war es auf der Hauptseite nicht aktiviert (nur standardmäßig installiert), aber ich schätze, das reichte aus, um den Fehler zu verursachen. Danke.

2 „Gefällt mir“

Ich erhalte denselben Fehler auf einer Entwicklungsinferenz (wo ich gerade auf pg16 aktualisiert habe, um die neueste pgvector-Version zu erhalten, die diesen Restore zuvor fehlschlagen ließ), die ich gerade mit git pull aktualisiert habe.

Ich habe sowohl Post-Voting als auch Topic-Voting hinzugefügt (Topic-Voting war in der Quelle vorhanden).

Meine Tendenz war,

 DROP table discourse_voting_category_settings;

Aber dann musste ich CASCADE hinzufügen und ich habe mich nicht getraut und versucht, auf Staging wiederherzustellen.

Auf einer Staging-Site erhalte ich diesen Fehler, wenn ich versuche, dieselbe Datenbank wiederherzustellen:

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'

Das scheint anders zu sein. Ich habe es in den letzten drei Wochen vergessen, aber seitdem hatten wir einige Fälle, in denen Backups nicht wiederhergestellt werden konnten, wenn das Post-Voting-Plugin nicht installiert war. Das ist also definitiv ein Problem.

Aber hotlinked_media_status ist eine Kerntabelle aus dem Jahr 2022… das muss also etwas anderes sein.

./db/migrate/20220428094026_create_post_hotlinked_media.rb

(Übrigens führe ich ein Tagebuch über alle Probleme der letzten 11 Jahre und ich habe keine Erwähnung davon.)

2 „Gefällt mir“

Nun, ich habe dafür gesorgt, dass die Dev-Instanz alle Plugins hat, die die Produktionsseite hat, und dort das Backup wiederhergestellt!

Aber die Staging-Site (der aus irgendeinem Grund das Microsoft Auth-Plugin fehlt, aber das kann es doch nicht sein?!) hat immer noch das Problem EXCEPTION: psql failed: ERROR: type "hotlinked_media_status" already exists.

Aber wenn ich nur suchen würde:

Sieht so aus, als ob etwas Ähnliches einmal behoben wurde. . .

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