# Unable to move posts between topics

**URL:** https://meta.discourse.org/t/unable-to-move-posts-between-topics/341497
**Category:** Bug
**Tags:** fixed
**Created:** [December 10, 2024, 2:24am UTC](https://meta.discourse.org/t/unable-to-move-posts-between-topics/341497 "2024-12-10T02:24:05Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![rtyhbfdvsd](https://avatars.discourse-cdn.com/v4/letter/r/bcef8e/32.png) [@rtyhbfdvsd](https://meta.discourse.org/u/rtyhbfdvsd)
#### Post date: [December 10, 2024, 2:24am UTC](https://meta.discourse.org/t/unable-to-move-posts-between-topics/341497/1 "2024-12-10T02:24:05Z")

</div>

Hi, I’m trying to move posts between threads and keep getting this error. This error is preventing any posts across the entire install from being moved. If anyone has any suggestions I’d be extremely careful. Thanks for reading!

```plaintext
PG::UniqueViolation (ERROR: duplicate key value violates unique constraint "post_timings_unique"
DETAIL: Key (topic_id, post_number, user_id)=(4175, 6, 1074) already exists.
)
lib/mini_sql_multisite_connection.rb:109:in `run'
app/models/post_mover.rb:507:in `move_post_timings'
app/models/post_mover.rb:138:in `handle_moved_references'
app/models/post_mover.rb:108:in `move_posts_to'
app/models/post_mover.rb:35:in `block in to_topic'
app/models/post_mover.rb:35:in `to_topic'
app/models/topic.rb:1308:in `move_posts'
app/controllers/topics_controller.rb:1415:in `move_posts_to_destination'
app/controllers/topics_controller.rb:917:in `move_posts'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:403:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:360:in `call'

Backtrace

rack-mini-profiler (3.3.1) lib/patches/db/pg.rb:113:in `exec'
rack-mini-profiler (3.3.1) lib/patches/db/pg.rb:113:in `async_exec'
mini_sql (1.6.0) lib/mini_sql/postgres/connection.rb:217:in `run'
mini_sql (1.6.0) lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
mini_sql (1.6.0) lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
activesupport (7.2.2) lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
mini_sql (1.6.0) lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
mini_sql (1.6.0) lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
lib/mini_sql_multisite_connection.rb:109:in `run'
mini_sql (1.6.0) lib/mini_sql/postgres/connection.rb:196:in `exec'
app/models/post_mover.rb:507:in `move_post_timings'
app/models/post_mover.rb:138:in `handle_moved_references'
app/models/post_mover.rb:108:in `move_posts_to'
app/models/post_mover.rb:35:in `block in to_topic'
activerecord (7.2.2) lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
activesupport (7.2.2) lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
activerecord (7.2.2) lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
activerecord (7.2.2) lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
activerecord (7.2.2) lib/active_record/transactions.rb:234:in `block in transaction'
activerecord (7.2.2) lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
activerecord (7.2.2) lib/active_record/connection_handling.rb:296:in `with_connection'
activerecord (7.2.2) lib/active_record/transactions.rb:233:in `transaction'
app/models/post_mover.rb:35:in `to_topic'
app/models/topic.rb:1308:in `move_posts'
app/controllers/topics_controller.rb:1415:in `move_posts_to_destination'
app/controllers/topics_controller.rb:917:in `move_posts'
actionpack (7.2.2) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.6) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.2.2) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method'
actionpack (7.2.2) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.10) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.10) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.10) lib/rack/head.rb:12:in `call'
actionpack (7.2.2) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:403:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.10) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.10) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
railties (7.2.2) lib/rails/rack/logger.rb:41:in `call_app'
railties (7.2.2) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.10) lib/rack/method_override.rb:24:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/executor.rb:16:in `call'
rack (2.2.10) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.2.2) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties (7.2.2) lib/rails/engine.rb:535:in `call'
railties (7.2.2) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.10) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.10) lib/rack/urlmap.rb:58:in `each'
rack (2.2.10) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

Env

HTTP HOSTS: forums.insertcredit.com

```

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [December 10, 2024, 9:30am UTC](https://meta.discourse.org/t/unable-to-move-posts-between-topics/341497/2 "2024-12-10T09:30:07Z")

</div>

Hey great news, we have a fix that was just merged:

[https://github.com/discourse/discourse/pull/30176](https://github.com/discourse/discourse/pull/30176)

Not sure if you can upgrade your site right now, but this should allow you to get past that error.

---

<div class="post-metadata">

### Author: ![rtyhbfdvsd](https://avatars.discourse-cdn.com/v4/letter/r/bcef8e/32.png) [@rtyhbfdvsd](https://meta.discourse.org/u/rtyhbfdvsd)
#### Post date: [December 10, 2024, 2:30pm UTC](https://meta.discourse.org/t/unable-to-move-posts-between-topics/341497/3 "2024-12-10T14:30:07Z")

</div>

Thank you!

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [December 13, 2024, 2:30pm UTC](https://meta.discourse.org/t/unable-to-move-posts-between-topics/341497/4 "2024-12-13T14:30:30Z")

</div>

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