I know this is a bit of an old topic, but I’ve just completed a comparably sized vb4 migration and am missing a LOT of image attachments, somewhere on the order of 75% of them I’d wager. They are not tombstoned, and all the threads have been rebaked.
Has anyone else dealt with this? How should I go about recovering those images?
Yes, quite a few ‘Attachment file doesn’t exist’ errors with some ‘Couldn’t find attachment record for post.id=xxx, import_id=xxx’ sprinkled in.
The thing that has me scratching my head is that these are posts that I know have intact attachments, and that those attachments are in the ATTACHMENT_DIR global directory. The threads with missing images are missing ALL the associated images, which seems… not random.
I’m at a loss to find any common factor among the threads/posts with lost images either.
نعم، يبدو أنك اكتشفت الأمر. إن حدوث أخطاء من هذا القبيل هو القاعدة وليس الاستثناء. ثم عليك أن تقرر ما إذا كنت ستصلح الأمر في قاعدة البيانات أم ستعدل الكود ليتعامل مع قاعدة البيانات المعطلة.
الأمر المعتاد في أي عملية هجرة بيانات هو أن أي سكريبت تجده لن يغطي جميع الاحتمالات. ولا يساعد في ذلك أن الوقت الوحيد المتاح لدي للعمل على هذا يبدو أنه في وقت متأخر من الليل (إنه عمل تطوعي لنادي السيارات الخاص بي). موقع vBulletin مخصص إلى حد كبير، لذا سأرى ما هي المفاجآت الأخرى التي ستظهر.
شكرًا لك @RGJ، لكن هل يمكنك شرح كيفية عمل هذا في الواقع؟ ما هو هذا السكربت بالضبط؟ هل يقوم بإنشاء نوع من عناوين URL البديلة (في Discourse) لتوجيهها إلى عناوين URL الحالية/الصحيحة المستوردة في Discourse؟
أعتقد أن الطريقة المثالية ستكون توجيه النطاق القديم للمنتدى إلى النطاق الجديد لجميع الزيارات/الروابط الواردة بناءً على قائمة من عمليات إعادة التوجيه 301. كيف تنصح بإنشاء قائمة عمليات إعادة التوجيه هذه؟
لدي مشكلة مع عدم استيراد المرفقات بشكل كامل، مشابهة لما ذُكر من قبل، لكن السكربت لا يُظهر أي أخطاء.
قاعدة البيانات صغيرة (71 ميجابايت) وينتهي الاستيراد بالكامل في 0 دقيقة و23 ثانية.
الغالبية العظمى من المرفقات مفقودة من المنشورات.
نفذت استعلامات SQL على قاعدة بيانات vb4 الخاصة بي مباشرة كما هي في السكربت، وهي تُرجع البيانات الصحيحة، لذا لا أعرف أين تكمن المشكلة في الوقت الحالي…
إذا كان لديك ميزانية، فأخبرني. أعزم على تقديم نسخة بعد انتهاء عملية الاستيراد هذه، لكنني بحاجة إلى إزالة كمية كبيرة من الكود المخصص لهذا الاستيراد فقط، وهو السبب في عدم حدوث ذلك قبل عام…