مستخدمو Wordpress الجدد يتصلون بمستخدمي Discourse الحاليين

مرحباً @jord8on، طريقة عمل المطابقة في جانب discourse هي أنها تحاول أولاً مطابقة المعرف الخارجي (الذي يشير الآن إلى مستخدمين مختلفين حيث قمت بتغيير قاعدة بيانات Wordpress الخاصة بك)، ثم تحاول المطابقة باستخدام عنوان البريد الإلكتروني. هناك بعض الأسباب الوجيهة لاستخدام المعرف أولاً. البريد الإلكتروني ليس معرفاً لامركزياً جيداً.

لذلك، ما تحتاج إلى القيام به هو حذف سجلات تسجيل الدخول الموحد (SSO) في discourse التي تم إنشاؤها عندما كنت تستخدم قاعدة بيانات Wordpress القديمة الخاصة بك. يمكنك استخدام تاريخ ووقت لتحديدها، على سبيل المثال، ستقوم بشيء مثل هذا على مثيل discourse الخاص بك

./launcher enter app
rails c
SingleSignOnRecord.where("created_at < ?", 1.month.ago) // تحقق مما إذا كان هذا يتطابق مع توقعاتك
SingleSignOnRecord.where("created_at < ?", 1.month.ago).delete_all

سيتم مطابقة المستخدمين القدامى الذين تم استيرادهم إلى قاعدة البيانات الجديدة على أساس البريد الإلكتروني مع حسابات discourse الموجودة لديهم (حيث لن يتطابق معرف Wordpress الجديد الخاص بهم مع أي سجلات SSO).

أود أيضاً إزالة جميع بيانات discourse_username على Wordpress والسماح بإعادة مزامنتها تلقائياً عبر خطاف المستخدم. ستحتاج إلى تشغيل هذا (ربما باستخدام WP CLI)، والذي يحذف جميع الإدخالات لحقل البيانات الوصفية discourse_username.

delete_metadata( 'user', 0, 'discourse_username', '', true );

بالنسبة للأشخاص المستقبليين الذين يقرؤون هذا، إذا كنت تستخدم DiscourseConnect مع قاعدة بيانات Wordpress واحدة، ثم انتقلت إلى قاعدة بيانات Wordpress جديدة تماماً دون ترحيل، فستواجه هذا النوع من المشكلات. يجب عليك طلب المساعدة قبل إجراء هذا النوع من التغيير.

إعجابَين (2)