Ho un problema strano con il nome utente, la mia bacheca utilizza RTL e una lingua unica per le parole chiave arabe.
Il nome utente è impostato su parole inglesi, ma quando controllo i log, mi mostra che il modello del profilo utente non può essere trovato… perché è in parole chiave arabe.
Quando controllo il nome utente per cambiarlo, è impostato su inglese, ma nell’errore mi mostra la parola chiave araba.
Perché la pensi così? Non credo che il metodo create_user_profile sia pensato per essere eseguito manualmente, viene eseguito da Discourse dopo che un utente è stato creato discourse/app/models/user.rb at main · discourse/discourse · GitHub
È per questo che ottieni l’errore duplicate key value, perché stai cercando di creare profili utente che esistono già.
Ho provato a replicare questo errore creando un account utente con il nome utente دعم_المجتمع e l’ho testato anche con un account con un nome utente inglese, entrambi avevano la lingua dell’interfaccia impostata su arabo, e funziona bene.
Non credo che questo problema sia più correlato alla lingua o ai template, ma alle immagini mancanti dei badge, come hai sottolineato qui Badge image missing issue
Hai ragione; comunque questo è un backup e lo ripristino e funziona bene.. il problema riguarda solo le immagini dei badge; e provo a eseguire i comandi
rake uploads:clean_up
rake posts:rebake
ma il problema persiste..
[2] pry(main)> Discourse.system_user.create_user_profile
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_profiles_pkey"
DETAIL: Key (user_id)=(-1) already exists.
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:69:in `exec_params'
Caused by PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_profiles_pkey"
DETAIL: Key (user_id)=(-1) already exists.
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.3/lib/patches/db/pg.rb:69:in `exec_params'
[3] pry(main)>