XenForo’da kullanıcı ID’sini değiştirmek doğrudan desteklenen bir özellik değildir, çünkü ID'ler veritabanında birçok tabloya referanslıdır. Ancak, ID değiştirmeniz gerekiyorsa, aşağıdaki adımları dikkatlice uygulamanız gerekir:
1. Veritabanı Yedeği Alın
İşleme başlamadan önce
MySQL veritabanınızın tam bir yedeğini alın. Eğer bir hata yaparsanız, geri dönebilmek için yedeğiniz olması önemlidir.
2. MySQL Üzerinden ID'yi Değiştirme
XenForo’nun veritabanında kullanıcı ID’si (user_id), birçok tabloda kullanılır. Aşağıdaki SQL komutları ile bir kullanıcının ID’sini değiştirebilirsiniz:
a) Kullanıcı ID’sini Güncelleme
Örneğin, user_id değeri
5 olan bir kullanıcıyı
100 yapmak istiyorsanız
Kod:
SET @old_id = 5;
SET @new_id = 100;
UPDATE xf_user SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_user_authenticate SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_user_option SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_user_privacy SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_user_profile SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_user_field_value SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_user_group_relation SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_conversation_user SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_permission_combination_user SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_session_activity SET user_id = @new_id WHERE user_id = @old_id;
UPDATE xf_tfa_provider SET user_id = @new_id WHERE user_id = @old_id;
ID’nin Başka Tablolarda Kullanıldığına Dikkat Edin
Bazı eklentiler veya özel tablolar da user_id kullanıyor olabilir.
Tüm tabloları manuel olarak kontrol edin ve gerekirse aşağıdaki SQL sorgusunu çalıştırarak hangi tabloların bu ID'yi referans aldığını görün
Kod:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'user_id'
AND TABLE_SCHEMA = 'veritabani_adi';
(Burada veritabani_adi kısmını kendi XenForo veritabanı adınızla değiştirin.)
Foreign Key Kısıtlamalarına Dikkat Edin
Bazı tablolar FOREIGN KEY kısıtlamaları nedeniyle doğrudan güncellenemeyebilir. Eğer hata alırsanız, aşağıdaki komutla kısıtlamaları geçici olarak devre dışı bırakabilirsiniz:
Kod:
SET FOREIGN_KEY_CHECKS=0;
Kod:
SET FOREIGN_KEY_CHECKS=1;
Cache ve Rebuild İşlemleri
ID değişikliğinden sonra XenForo admin panelinden aşağıdaki işlemleri yapmanız gerekir:
- Cache temizleme (AdminCP > Tools > Rebuild Caches)
- User rebuild işlemleri (Rebuild User Caches çalıştırın)Test Edin
Kullanıcının giriş yapabildiğini, mesajlarının doğru göründüğünü ve tüm özelliklerin çalıştığını test edin.
Bu işlemler
çok risklidir. Eğer veritabanında beklenmeyen bir hata oluşursa, forumunuz kullanılamaz hale gelebilir. O yüzden
yedek almadan bu işlemi yapmayın.