Problema com restauração: função "mirror_topic_timers_topic_id" já existe com os mesmos tipos de argumento

Estou tentando restaurar um banco de dados de produção de 04dbc622ab1e0197d16703ba47cf005ec93697ee para um site de desenvolvimento f608e0cd7e7d4785b3ecb401999cfb837cfbe783

Estou recebendo estes erros:

Falha ao migrar o banco de dados.                                                                                                                           [90/9045]
Ignorando db/schema_cache.yml porque expirou. A versão atual do esquema é 20250724012518, mas a do arquivo de cache do esquema é 20250916082012.
rake abortou!
StandardError: Ocorreu um erro, esta e todas as migrações posteriores foram canceladas: (StandardError)

PG::DuplicateFunction: ERRO:  função "mirror_topic_timers_topic_id" já existe com os mesmos tipos de argumento
/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>'

Causado por:
ActiveRecord::StatementInvalid: PG::DuplicateFunction: ERRO:  função "mirror_topic_timers_topic_id" já existe com os mesmos tipos de argumento (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>'

Acho que pode ter a ver com isto:

1 curtida

Tenho o mesmo problema (1e42f55be0 para 452e5064c9).

1 curtida

Vou dar uma olhada nisso hoje.

3 curtidas

Loucura, acabei de terminar de preparar tudo na minha versão de desenvolvimento, minha primeira configuração do Discourse, estava prestes a importá-la na minha versão live recém-instalada e tive exatamente este erro. E o único resultado no Google é este post de 5h atrás. Espero que seja corrigido para que eu possa lançar.

1 curtida

Você poderia tentar lançar com o commit anterior ao listado aqui.

Sua necessidade de excluir o banco de dados existente, reconstruir com o commit anterior e provavelmente fazer a restauração.

E 5 horas é um SEO muito bom.

Abri um PR com uma correção e estou revisando o mais rápido possível.

5 curtidas

E ele foi mesclado logo após esta postagem!

3 curtidas

Este tópico foi fechado automaticamente 7 dias após a última resposta. Novas respostas não são mais permitidas.