أثناء الاستيراد إلى discourse، فقدت مشاركة رئيسية 100 إعجاب في الانتقال (فشلت في كشطها بشكل صحيح). أفضل عدم إعادة تشغيل البرنامج النصي للاستيراد في هذه الحالة.
إذا كان لدي قائمة بالمستخدمين الذين أعجبوا بالمشاركة، فما هي أفضل طريقة لإضافة هؤلاء؟ هل هناك أمر rake؟
ما سأفعله هو إلقاء نظرة على البرنامج النصي للاستيراد الذي يستورد الإعجابات لمعرفة ما يفعله لإضافة الإعجابات ثم القيام بذلك في وحدة تحكم Rails. أنا متأكد تمامًا من أنه PostAction.
أنا متأكد تمامًا من عدم وجود أمر rake كهذا، نظرًا لأنه طلب غير عادي إلى حد ما (في الغالب، سأعيد تشغيل برنامج الاستيراد)، لكنني لم أبحث في الأمر.
شكراً على الرد. أنا متوتر من إعادة تشغيل البرنامج النصي للاستيراد لأنه مر عليه ما يقرب من 6 أشهر ولست متأكداً من نوع الآثار الجانبية التي يمكن أن تحدث في الحالات القصوى حيث تتفاعل البيانات القديمة مع البيانات الجديدة.
إليك الدالة المساعدة التي استخدمتها في البرنامج النصي للاستيراد الخاص بي.
إليك الكود ذو الصلة
created_by = User.find_by(id: user_id_from_imported_user_id(params[:user_id]))
post = Post.find_by(id: post_id_from_imported_post_id(params[:post_id]))
if created_by && post
PostActionCreator.create(created_by, post, :like, created_at: params[:created_at])
created += 1
...
يا للروعة! لا تعرف أبدًا ما إذا كانت الإجابة الغامضة مثل “حسنًا، ما سأفعله…” ستكون مفيدة.
إذا كنت ستلصق أشياء في وحدة تحكم rails، فإن خدعة مفيدة لمعرفتها هي أنه إذا أنهيت أسطرك بـ ; فلن يتم دفعك إلى أداة less لرؤية نتائج البيان الأخير. (إذا كتبت حلقة صحيحة، أو شغلت برنامجًا نصيًا، فلن تحتاج إلى هذه النصيحة.)