복원 문제: "mirror_topic_timers_topic_id" 함수가 동일한 인자 유형으로 이미 존재합니다

프로덕션 데이터베이스를 04dbc622ab1e0197d16703ba47cf005ec93697ee에서 개발 사이트 f608e0cd7e7d4785b3ecb401999cfb837cfbe783로 복원하려고 시도하고 있습니다.

다음과 같은 오류가 발생합니다:

Failed to migrate database.                                                                                                                           [90/9045]
Ignoring db/schema_cache.yml because it has expired. The current schema version is 20250724012518, but the one in the schema cache file is 20250916082012.
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)

PG::DuplicateFunction: ERROR:  function "mirror_topic_timers_topic_id" already exists with same argument types
/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>'

Caused by:
ActiveRecord::StatementInvalid: PG::DuplicateFunction: ERROR:  function "mirror_topic_timers_topic_id" already exists with same argument types (ActiveRecord::S
tatementInvalid)
/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>'

이것이 다음 내용과 관련이 있을 것 같습니다:

1개의 좋아요

같은 문제가 있습니다 (1e42f55be0에서 452e5064c9로).

1개의 좋아요

오늘 이 부분을 확인해 보겠습니다.

3개의 좋아요

정말 황당합니다. 개발 버전에서 모든 준비를 막 마쳤는데, 제 첫 Discourse 설정을 방금 설치한 운영 버전으로 가져가려는데 정확히 이 오류가 발생했습니다. 그리고 구글에서 검색하면 이 5시간 전 게시물이 유일한 결과입니다. 빨리 수정되어 제가 서비스를 시작할 수 있기를 바랍니다.

1개의 좋아요

여기에 나열된 커밋 바로 직전 커밋으로 시작하도록 조정할 수 있습니다.

기존 데이터베이스를 삭제하고, 직전 커밋으로 재빌드한 후 복원을 수행해야 할 가능성이 높습니다.

그리고 5시간은 꽤 괜찮은 SEO 성과입니다.

수정 사항을 포함한 PR을 생성했으며, 최대한 빨리 리뷰를 받겠습니다.

5개의 좋아요

그리고 그의 게시글 바로 후에 실제로 병합되었습니다!

3개의 좋아요

이 주제는 마지막 답변 후 7일이 지나면 자동으로 닫힙니다. 더 이상 답변을 남길 수 없습니다.