خطأ في التسجيل: PG::UniqueViolation (خطأ: قيمة المفتاح المكررة تنتهك قيد التفرد

Hello! No changes were made on the site.

New users started reporting about this error:

PG::UniqueViolation (ERROR: duplicate key value violates unique constraint "idx_category_users_category_id_user_id" DETAIL: Key (category_id, user_id)=(55, 1691) already exists. ) app/models/user.rb

In details:

Message (2 copies reported)

PG::UniqueViolation (ERROR:  duplicate key value violates unique constraint "idx_category_users_category_id_user_id"
DETAIL:  Key (category_id, user_id)=(55, 1691) already exists.
)
app/models/user.rb:1499:in `set_default_categories_preferences'
app/controllers/users_controller.rb:629:in `create'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'
app/controllers/application_controller.rb:358:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:354:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
lib/middleware/request_tracker.rb:176:in `call'

Backtrace

rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:110:in `exec'
rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:110:in `async_exec'
mini_sql (0.3) lib/mini_sql/postgres/connection.rb:201:in `run'
mini_sql (0.3) lib/mini_sql/postgres/connection.rb:173:in `exec'
app/models/user.rb:1499:in `set_default_categories_preferences'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:428:in `block in make_lambda'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:238:in `block in halting_and_conditional'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:517:in `block in invoke_after'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:517:in `each'
activesupport (6.0.3.3) lib/active_support/callbacks.rb:517:in `invoke_after'

Env
rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:110:in `exec'

rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:110:in `async_exec'

mini_sql (0.3) lib/mini_sql/postgres/connection.rb:201:in `run'

mini_sql (0.3) lib/mini_sql/postgres/connection.rb:173:in `exec'

app/models/user.rb:1499:in `set_default_categories_preferences'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:428:in `block in make_lambda'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:238:in `block in halting_and_conditional'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:517:in `block in invoke_after'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:517:in `each'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:517:in `invoke_after'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:136:in `run_callbacks'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:825:in `_run_create_callbacks'

activerecord (6.0.3.3) lib/active_record/callbacks.rb:331:in `_create_record'

activerecord (6.0.3.3) lib/active_record/timestamp.rb:110:in `_create_record'

activerecord (6.0.3.3) lib/active_record/persistence.rb:905:in `create_or_update'

activerecord (6.0.3.3) lib/active_record/callbacks.rb:327:in `block in create_or_update'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:135:in `run_callbacks'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:825:in `_run_save_callbacks'

activerecord (6.0.3.3) lib/active_record/callbacks.rb:327:in `create_or_update'

activerecord (6.0.3.3) lib/active_record/timestamp.rb:128:in `create_or_update'

activerecord (6.0.3.3) lib/active_record/persistence.rb:470:in `save'

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

activerecord (6.0.3.3) lib/active_record/transactions.rb:314:in `block in save'

activerecord (6.0.3.3) lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status'

activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'

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

activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'

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

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

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

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

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

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

activerecord (6.0.3.3) lib/active_record/transactions.rb:212:in `transaction'

activerecord (6.0.3.3) lib/active_record/transactions.rb:366:in `with_transaction_returning_status'

activerecord (6.0.3.3) lib/active_record/transactions.rb:314:in `save'

activerecord (6.0.3.3) lib/active_record/suppressor.rb:44:in `save'

app/controllers/users_controller.rb:629:in `create'

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

actionpack (6.0.3.3) lib/abstract_controller/base.rb:195:in `process_action'

actionpack (6.0.3.3) lib/action_controller/metal/rendering.rb:30:in `process_action'

actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:42:in `block in process_action'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:112:in `block in run_callbacks'

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

i18n (1.8.5) lib/i18n.rb:313:in `with_locale'

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

activesupport (6.0.3.3) lib/active_support/callbacks.rb:121:in `block in run_callbacks'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:139:in `run_callbacks'

actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:41:in `process_action'

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

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

activesupport (6.0.3.3) lib/active_support/notifications.rb:180:in `block in instrument'

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

activesupport (6.0.3.3) lib/active_support/notifications.rb:180:in `instrument'

actionpack (6.0.3.3) lib/action_controller/metal/instrumentation.rb:32:in `process_action'

actionpack (6.0.3.3) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'

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

actionpack (6.0.3.3) lib/abstract_controller/base.rb:136:in `process'

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

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

actionpack (6.0.3.3) lib/action_controller/metal.rb:190:in `dispatch'

actionpack (6.0.3.3) lib/action_controller/metal.rb:254:in `dispatch'

actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'

actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:33:in `serve'

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

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

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

actionpack (6.0.3.3) lib/action_dispatch/routing/route_set.rb:834:in `call'

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

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

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

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

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

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

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

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

actionpack (6.0.3.3) lib/action_dispatch/middleware/cookies.rb:648:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport (6.0.3.3) lib/active_support/callbacks.rb:101:in `run_callbacks'

actionpack (6.0.3.3) lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'

logster (2.9.4) lib/logster/middleware/reporter.rb:43:in `call'

railties (6.0.3.3) lib/rails/rack/logger.rb:37:in `call_app'

railties (6.0.3.3) lib/rails/rack/logger.rb:28:in `call'

config/initializers/100-quiet_logger.rb:23:in `call'

config/initializers/100-silence_logger.rb:31:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/request_id.rb:27:in `call'

lib/middleware/enforce_hostname.rb:22:in `call'

rack (2.2.3) lib/rack/method_override.rb:24:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/executor.rb:14:in `call'

rack (2.2.3) lib/rack/sendfile.rb:110:in `call'

actionpack (6.0.3.3) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'

rack-mini-profiler (2.2.0) lib/mini_profiler/profiler.rb:246:in `call'

message_bus (3.3.4) lib/message_bus/rack/middleware.rb:61:in `call'

lib/middleware/request_tracker.rb:176:in `call'

railties (6.0.3.3) lib/rails/engine.rb:527:in `call'

railties (6.0.3.3) lib/rails/railtie.rb:190:in `public_send'

railties (6.0.3.3) lib/rails/railtie.rb:190:in `method_missing'

rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'

rack (2.2.3) lib/rack/urlmap.rb:58:in `each'

rack (2.2.3) lib/rack/urlmap.rb:58:in `call'

unicorn (5.7.0) lib/unicorn/http_server.rb:632:in `process_client'

unicorn (5.7.0) lib/unicorn/http_server.rb:728:in `worker_loop'

unicorn (5.7.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'

unicorn (5.7.0) lib/unicorn/http_server.rb:144:in `start'

unicorn (5.7.0) bin/unicorn:128:in `<top (required)>'

vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `load'

vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `<main>'

I’m on the latest version of Discourse.

Please, help me to fix it.

يبدو أن هناك تكرارًا في مجموعات المشاهدة التلقائية الخاصة بك. غير متأكد من كيفية حدوث ذلك، ولكن هل يمكنك محاولة إعادة تعيين إعداد الموقع الخاص بالمراقبة التلقائية؟

4 إعجابات

عزيزي سام، أنت رائع!

لقد تسببت في هذه المشكلة بنفسي. لقد قمت بتعيين فئة مراقبة افتراضية للمستخدمين ذوي مستوى الثقة 0. وهذا خلق مشكلة وفشلت عمليات التسجيل. لذا قمت بحذف فئة المراقبة لهذه المجموعة، والآن تعمل عمليات التسجيل بنجاح.

3 إعجابات

لقد قمت بنفس الأمر وأواجه نفس المشكلة. التسجيلات الجديدة غير ممكنة.

لكن أليسنا نستخدم الميزة كما هو مقصود؟ أريد أن يراقب المستخدمون الجدد فئة معينة فورًا.
كيف يمكنني تحقيق ذلك؟

لا، لم أتمكن من معرفة كيفية القيام بذلك. ربما يكون ذلك ممكنًا عبر المجموعات؟ أضف المستخدمين الجدد تلقائيًا افتراضيًا إلى مجموعة محددة، ثم اجعل هذه المجموعة تشاهد وسمًا أو فئة معينة.

من الغريب بالنسبة لي أننا لا نستطيع فعل ذلك عبر مستويات الثقة.

أخبرني إذا تمكنت من القيام بذلك باستخدام مجموعة.

تم إصلاح المشكلة الآن بواسطة الـ commits أدناه

إعجابَين (2)