تغيير تاريخ إنشاء الموضوع

مرحبًا بالجميع،

أكتب لأنني أحاول ملء منتداي بمنشورات قام بها مجموعة من المستخدمين في منتدى قديم آخر.

ما أود فعله هو إنشاء هذه المواضيع - وما قد يتبعها من منشورات - مع الاحتفاظ بتاريخ الإنشاء الأصلي.

تعديل حقل “created_at” وقت إرسال المنشور لا يعمل. أنا أعمل عبر واجهة برمجة التطبيقات (API).

ملخص: إذا تم نشر موضوع على المنتدى القديم في 14 أكتوبر 2011، الساعة 07:45 صباحًا، كيف يمكنني الاحتفاظ بتاريخ ووقت النشر الأصليين عند استيراده إلى منتدى Discourse جديد؟

شكرًا لكم جميعًا على مساعدتكم!

د.

هناك العديد من أمثلة سكريبتات الترحيل في مستودع النواة وبعض أدلة ‘كيفية’ هنا لاستغلالها - فلماذا نستخدم واجهة برمجة التطبيقات (API)؟

@merefield، شكرًا لك، لقد رأيت بعض نصوص الترحيل، لكنني حاليًا أستخدم الواجهة البرمجية مباشرة.
أنا أتساءل فقط عما إذا كان ما أريد فعله (تأريخ موضوع بتاريخ سابق) ممكنًا على الإطلاق في Discourse.

حاول تمرير متغير created_at بشكل أكثر تحديدًا إذا لم تكن قد فعلت ذلك.

لقد راجعت للتو كود مصدر Discourse، فهو يستخدم Time.zone.parse لتحليل سلسلة تاريخ created_at الخاصة بك. في مثالك، النتيجة هي:

pry(main)> Time.zone.parse("Oct 14, '11, at 07:45 am").to_s
=> "0011-10-14 07:45:00 UTC"

ماذا عن سلسلة RFC 3339؟

pry(main)> Time.zone.parse('2011-10-14T14:00:00-10:00').to_s
=> "2011-10-15 00:00:00 UTC"
إعجاب واحد (1)

شكرًا لك! نجح الأمر حقًا :slight_smile: