Problema con il ripristino: la funzione "mirror_topic_timers_topic_id" esiste già con gli stessi tipi di argomenti

Sto cercando di ripristinare un database di produzione da 04dbc622ab1e0197d16703ba47cf005ec93697ee a un sito di sviluppo f608e0cd7e7d4785b3ecb401999cfb837cfbe783

Ricevo questi errori:

Migrazione del database fallita.                                                                                                                           [90/9045]
Ignoro db/schema_cache.yml perché è scaduto. La versione corrente dello schema è 20250724012518, ma quella nel file della cache dello schema è 20250916082012.
rake abortito!
StandardError: Si è verificato un errore, questo e tutte le migrazioni successive sono state annullate: (StandardError)

PG::DuplicateFunction: ERRORE:  la funzione "mirror_topic_timers_topic_id" esiste già con gli stessi tipi di argomenti
/home/pfaffman/src/discourse-repos/discourse/lib/migration/safe_migrate.rb:107:in `async_exec'
/home/pfaffman/src/discourse-repos/discourse/db/migrate/20250902014817_add_timerable_id_to_topic_timer.rb:15:in `up'
/home/pfaffman/src/discourse-repos/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/home/pfaffman/src/discourse-repos/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/home/pfaffman/src/discourse-repos/discourse/lib/migration/safe_migrate.rb:28:in `migrate'
/home/pfaffman/src/discourse-repos/discourse/lib/migration/safe_migrate.rb:53:in `migrate'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/db.rake:267:in `block (2 levels) in <main>'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/db.rake:242:in `block in <main>'

Causato da:
ActiveRecord::StatementInvalid: PG::DuplicateFunction: ERRORE:  la funzione "mirror_topic_timers_topic_id" esiste già con gli stessi tipi di argomenti (ActiveRecord::S
ntatementInvalid)
/home/pfaffman/src/discourse-repos/discourse/lib/migration/safe_migrate.rb:107:in `async_exec'
/home/pfaffman/src/discourse-repos/discourse/db/migrate/20250902014817_add_timerable_id_to_topic_timer.rb:15:in `up'
/home/pfaffman/src/discourse-repos/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/home/pfaffman/src/discourse-repos/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/home/pfaffman/src/discourse-repos/discourse/lib/migration/safe_migrate.rb:28:in `migrate'
/home/pfaffman/src/discourse-repos/discourse/lib/migration/safe_migrate.rb:53:in `migrate'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/db.rake:267:in `block (2 levels) in <main>'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/db.rake:242:in `block in <main>'

Penso che possa avere a che fare con questo:

1 Mi Piace

Ho lo stesso problema (1e42f55be0 a 452e5064c9).

1 Mi Piace

Darò un’occhiata oggi.

3 Mi Piace

Pazzesco, ho appena finito di preparare tutto nella mia versione di sviluppo, la mia prima installazione di Discourse, stavo per importarla nella mia versione live appena installata e ho riscontrato esattamente questo errore. E l’unico risultato su Google è questo post di 5 ore fa. Spero che venga risolto così potrò lanciare.

1 Mi Piace

Potresti escogitare un modo per lanciare con il commit precedente a quello elencato qui.

La tua necessità di eliminare il database esistente, ricompilare con il commit precedente e probabilmente fare il ripristino.

E 5 ore sono un SEO piuttosto buono.

Ho aperto una PR con una correzione e la sto facendo revisionare al più presto.

5 Mi Piace

E è stato unito poco dopo questo post!

3 Mi Piace

Questo argomento è stato chiuso automaticamente 7 giorni dopo l’ultima risposta. Non sono più consentite nuove risposte.