هل تقصد Postgres؟ لست متأكدًا مما يدور حوله هذا.
ما سأفعله هو أنه إذا كان معرف المستخدم 0، فاستخدم اسم المستخدم للمعّرف. بعد ذلك، إذا فشل find_username_by_import_id في العثور على المستخدم، فقم بإنشاء المستخدم، مع تعيين عنوان البريد الإلكتروني إلى fake_email (إنها وظيفة في base.rb تنشئ عنوان بريد إلكتروني وهمي) واسم المستخدم باسم المستخدم الذي لديك. بعد ذلك، إذا كنت طموحًا، يمكنك في نهاية البرنامج النصي تعليق جميع المستخدمين الذين لديهم @email.invalid في عنوان بريدهم الإلكتروني. لن يكونوا نشطين، لذلك لا أعتقد أن الأمر سيحدث فرقًا كبيرًا إذا لم تقم بتعليقهم.
طريقة أخرى ستكون إجراء استعلام يقوم بطريقة ما بإنشاء قائمة بجميع المستخدمين المحذوفين ثم إنشائهم قبل أن تبدأ في نشر المنشورات، ولكن هذا يبدو أصعب.
إذا كنت ترغب في إنشاء مستخدم deleted user وجعل كل هذه المنشورات مملوكة لهذا المستخدم بدلاً من system، يمكنك القيام بذلك واستبدال -1 برقم المستخدم لـ deleted user. يمكنك إنشائه كمستخدم عادي أو القيام بشيء رائع وجعله يمتلك معرف مستخدم -2 أو شيء من هذا القبيل.
في بعض الأنظمة، يكون هذا بسبب أن المرفقات تكون أحيانًا في نص المنشور والبعض الآخر يكون سجل المرفق في قاعدة البيانات.
هل قمت بتثبيت إضافة دعم تجزئات كلمات المرور المهاجرة بعد تشغيل الاستيراد (يمكن أن تتداخل مع تشغيل عمليات الاستيراد في بعض الظروف على الأقل). هل يقوم SMF2 بتجزئة كلمات المرور بنفس الطريقة التي يقوم بها smf؟