由于500错误,无法移动帖子

Hello,

I am encountering an issue by moving a post to a different topic.

When I check the error log:

ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_posts_on_topic_id_and_post_number" DETAIL: Key (topic_id, post_number)=(22680, 3) alr

And:

rack-mini-profiler (3.0.0) lib/patches/db/pg.rb:72:in `exec_params'

rack-mini-profiler (3.0.0) lib/patches/db/pg.rb:72:in `exec_params'

activerecord (7.0.4.3) lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `block (2 levels) in exec_no_cache'

activesupport (7.0.4.3) lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'

activesupport (7.0.4.3) lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'

activerecord (7.0.4.3) lib/active_record/connection_adapters/postgresql_adapter.rb:767:in `block in exec_no_cache'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract_adapter.rb:765:in `block in log'

activesupport (7.0.4.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract_adapter.rb:756:in `log'

activerecord (7.0.4.3) lib/active_record/connection_adapters/postgresql_adapter.rb:766:in `exec_no_cache'

activerecord (7.0.4.3) lib/active_record/connection_adapters/postgresql_adapter.rb:745:in `execute_and_clear'

activerecord (7.0.4.3) lib/active_record/connection_adapters/postgresql/database_statements.rb:71:in `exec_delete'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract/database_statements.rb:175:in `update'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `update'

activerecord (7.0.4.3) lib/active_record/persistence.rb:513:in `_update_record'

activerecord (7.0.4.3) lib/active_record/persistence.rb:1058:in `_update_row'

activerecord (7.0.4.3) lib/active_record/locking/optimistic.rb:88:in `_update_row'

activerecord (7.0.4.3) lib/active_record/persistence.rb:1080:in `_update_record'

activerecord (7.0.4.3) lib/active_record/attribute_methods/dirty.rb:216:in `_update_record'

activerecord (7.0.4.3) lib/active_record/callbacks.rb:465:in `block in _update_record'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:107:in `run_callbacks'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:929:in `_run_update_callbacks'

activerecord (7.0.4.3) lib/active_record/callbacks.rb:465:in `_update_record'

activerecord (7.0.4.3) lib/active_record/timestamp.rb:121:in `_update_record'

activerecord (7.0.4.3) lib/active_record/persistence.rb:1067:in `create_or_update'

activerecord (7.0.4.3) lib/active_record/callbacks.rb:457:in `block in create_or_update'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:118:in `block in run_callbacks'

activerecord (7.0.4.3) lib/active_record/autosave_association.rb:370:in `around_save_collection_association'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:127:in `block in run_callbacks'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:138:in `run_callbacks'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:929:in `_run_save_callbacks'

activerecord (7.0.4.3) lib/active_record/callbacks.rb:457:in `create_or_update'

activerecord (7.0.4.3) lib/active_record/timestamp.rb:126:in `create_or_update'

activerecord (7.0.4.3) lib/active_record/persistence.rb:615:in `save'

activerecord (7.0.4.3) lib/active_record/validations.rb:47:in `save'

activerecord (7.0.4.3) lib/active_record/transactions.rb:298:in `block in save'

activerecord (7.0.4.3) lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract/database_statements.rb:314:in `transaction'

activerecord (7.0.4.3) lib/active_record/transactions.rb:350:in `with_transaction_returning_status'

activerecord (7.0.4.3) lib/active_record/transactions.rb:298:in `save'

activerecord (7.0.4.3) lib/active_record/suppressor.rb:50:in `save'

app/models/post_mover.rb:206:in `move'

app/models/post_mover.rb:137:in `block in move_each_post'

activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'

activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'

app/models/post_mover.rb:135:in `move_each_post'

app/models/post_mover.rb:88:in `move_posts_to'

app/models/post_mover.rb:26:in `block in to_topic'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'

activesupport (7.0.4.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'

activerecord (7.0.4.3) lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'

activerecord (7.0.4.3) lib/active_record/transactions.rb:209:in `transaction'

app/models/post_mover.rb:26:in `to_topic'

app/models/topic.rb:1239:in `move_posts'

app/controllers/topics_controller.rb:827:in `merge_topic'

actionpack (7.0.4.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (7.0.4.3) lib/abstract_controller/base.rb:215:in `process_action'

actionpack (7.0.4.3) lib/action_controller/metal/rendering.rb:53:in `process_action'

actionpack (7.0.4.3) lib/abstract_controller/callbacks.rb:234:in `block in process_action'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:118:in `block in run_callbacks'

app/controllers/application_controller.rb:414:in `block in with_resolved_locale'

i18n (1.12.0) lib/i18n.rb:322:in `with_locale'

app/controllers/application_controller.rb:414:in `with_resolved_locale'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:127:in `block in run_callbacks'

activesupport (7.0.4.3) lib/active_support/callbacks.rb:138:in `run_callbacks'

actionpack (7.0.4.3) lib/abstract_controller/callbacks.rb:233:in `process_action'

actionpack (7.0.4.3) lib/action_controller/metal/rescue.rb:22:in `process_action'

actionpack (7.0.4.3) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'

activesupport (7.0.4.3) lib/active_support/notifications.rb:206:in `block in instrument'

activesupport (7.0.4.3) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport (7.0.4.3) lib/active_support/notifications.rb:206:in `instrument'

actionpack (7.0.4.3) lib/action_controller/metal/instrumentation.rb:66:in `process_action'

actionpack (7.0.4.3) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'

activerecord (7.0.4.3) lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack (7.0.4.3) lib/abstract_controller/base.rb:151:in `process'

actionview (7.0.4.3) lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler (3.0.0) lib/mini_profiler/profiling_methods.rb:111:in `block in profile_method'

actionpack (7.0.4.3) lib/action_controller/metal.rb:188:in `dispatch'

actionpack (7.0.4.3) lib/action_controller/metal.rb:251:in `dispatch'

actionpack (7.0.4.3) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'

actionpack (7.0.4.3) lib/action_dispatch/routing/route_set.rb:32:in `serve'

actionpack (7.0.4.3) lib/action_dispatch/journey/router.rb:50:in `block in serve'

actionpack (7.0.4.3) lib/action_dispatch/journey/router.rb:32:in `each'

actionpack (7.0.4.3) lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack (7.0.4.3) lib/action_dispatch/routing/route_set.rb:852:in `call'

lib/middleware/omniauth_bypass_middleware.rb:74:in `call'

rack (2.2.6.4) lib/rack/tempfile_reaper.rb:15:in `call'

rack (2.2.6.4) lib/rack/conditional_get.rb:40:in `call'

rack (2.2.6.4) lib/rack/head.rb:12:in `call'

actionpack (7.0.4.3) lib/action_dispatch/http/permissions_policy.rb:38:in `call'

lib/content_security_policy/middleware.rb:12:in `call'

lib/middleware/anonymous_cache.rb:369:in `call'

rack (2.2.6.4) lib/rack/session/abstract/id.rb:266:in `context'

rack (2.2.6.4) lib/rack/session/abstract/id.rb:260:in `call'

actionpack (7.0.4.3) lib/action_dispatch/middleware/

Can somebody suggest me how to fix this error, please?

Thanks in advance!

1 个赞

I found a similar issue that was fixed 5 years ago:

Is your forum imported?

1 个赞

Thanks for your comment @Canapin.

I just checked the topic and I didn’t find a solution for my problem.

Nope, it was a fresh install. None of the content is imported. :slight_smile:

Same here current version

By ‘same’, do you mean a 500 error or a 500 error and the same error in /logs?

I can’t move older topics even new topics returning this error at console.

Did you look at the error logs on your forum? Can you share the detailed error?

1 个赞
rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `exec' 
rack-mini-profiler-4.0.1/lib/patches/db/pg/alias_method.rb:109:in `async_exec' 
activerecord-8.0.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:167:in `perform_query' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:556:in `block (2 levels) in raw_execute' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:1017:in `block in with_raw_connection' 
activesupport-8.0.3/lib/active_support/concurrency/null_lock.rb:9:in `synchronize' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:986:in `with_raw_connection' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:555:in `block in raw_execute' 
activesupport-8.0.3/lib/active_support/notifications/instrumenter.rb:58:in `instrument' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:1137:in `log' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:554:in `raw_execute' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:591:in `internal_execute' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:547:in `internal_exec_query' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:159:in `exec_insert' 
activerecord-8.0.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `exec_insert' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:197:in `insert' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/query_cache.rb:27:in `insert' 
activerecord-8.0.3/lib/active_record/persistence.rb:257:in `_insert_record' 
activerecord-8.0.3/lib/active_record/persistence.rb:926:in `block in _create_record' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `with_connection' 
activerecord-8.0.3/lib/active_record/connection_handling.rb:310:in `with_connection' 
activerecord-8.0.3/lib/active_record/persistence.rb:923:in `_create_record' 
activerecord-8.0.3/lib/active_record/counter_cache.rb:201:in `_create_record' 
activerecord-8.0.3/lib/active_record/locking/optimistic.rb:84:in `_create_record' 
activerecord-8.0.3/lib/active_record/encryption/encryptable_record.rb:184:in `_create_record' 
activerecord-8.0.3/lib/active_record/attribute_methods/dirty.rb:240:in `_create_record' 
activerecord-8.0.3/lib/active_record/callbacks.rb:445:in `block in _create_record' 
activesupport-8.0.3/lib/active_support/callbacks.rb:100:in `run_callbacks' 
activesupport-8.0.3/lib/active_support/callbacks.rb:913:in `_run_create_callbacks' 
activerecord-8.0.3/lib/active_record/callbacks.rb:445:in `_create_record' 
activerecord-8.0.3/lib/active_record/timestamp.rb:116:in `_create_record' 
activerecord-8.0.3/lib/active_record/persistence.rb:894:in `create_or_update' 
activerecord-8.0.3/lib/active_record/callbacks.rb:441:in `block in create_or_update' 
activesupport-8.0.3/lib/active_support/callbacks.rb:109:in `run_callbacks' 
activesupport-8.0.3/lib/active_support/callbacks.rb:913:in `_run_save_callbacks' 
activerecord-8.0.3/lib/active_record/callbacks.rb:441:in `create_or_update' 
activerecord-8.0.3/lib/active_record/timestamp.rb:127:in `create_or_update' 
activerecord-8.0.3/lib/active_record/persistence.rb:424:in `save!' 
activerecord-8.0.3/lib/active_record/validations.rb:54:in `save!' 
activerecord-8.0.3/lib/active_record/transactions.rb:365:in `block in save!' 
activerecord-8.0.3/lib/active_record/transactions.rb:417:in `block (2 levels) in with_transaction_returning_status' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:357:in `transaction' 
activerecord-8.0.3/lib/active_record/transactions.rb:413:in `block in with_transaction_returning_status' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `with_connection' 
activerecord-8.0.3/lib/active_record/connection_handling.rb:310:in `with_connection' 
activerecord-8.0.3/lib/active_record/transactions.rb:409:in `with_transaction_returning_status' 
activerecord-8.0.3/lib/active_record/transactions.rb:365:in `save!' 
activerecord-8.0.3/lib/active_record/suppressor.rb:56:in `save!' 
/var/www/discourse/app/models/topic.rb:1728:in `set_or_create_timer' 
/var/www/discourse/app/models/post_mover.rb:809:in `close_topic_and_schedule_deletion' 
/var/www/discourse/app/models/post_mover.rb:122:in `move_posts_to' 
/var/www/discourse/app/models/post_mover.rb:35:in `block in to_topic' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:626:in `block in within_new_transaction' 
activesupport-8.0.3/lib/active_support/concurrency/null_lock.rb:9:in `synchronize' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:623:in `within_new_transaction' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in `within_new_transaction' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction' 
activerecord-8.0.3/lib/active_record/transactions.rb:233:in `block in transaction' 
activerecord-8.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `with_connection' 
activerecord-8.0.3/lib/active_record/connection_handling.rb:310:in `with_connection' 
activerecord-8.0.3/lib/active_record/transactions.rb:232:in `transaction' 
/var/www/discourse/app/models/post_mover.rb:35:in `to_topic' 
/var/www/discourse/app/models/topic.rb:1355:in `move_posts' 
/var/www/discourse/app/controllers/topics_controller.rb:880:in `block in merge_topic' 
/var/www/discourse/lib/hijack.rb:68:in `instance_eval' 
/var/www/discourse/lib/hijack.rb:68:in `block (2 levels) in hijack' 
i18n-1.14.7/lib/i18n.rb:353:in `with_locale' 
/var/www/discourse/lib/hijack.rb:68:in `block in hijack' 
concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:911:in `callback_on_resolution' 
concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:797:in `call_callback' 
concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:803:in `call_callbacks' 
concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:692:in `resolve_with' 
concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:1325:in `resolve' 
/var/www/discourse/lib/scheduler/defer.rb:125:in `block in do_work' 
rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:119:in `do_work' 
/var/www/discourse/lib/scheduler/defer.rb:105:in `block (2 levels) in start_thread'