تم تغيير جميع المنشورات إلى post_type=3 أثناء الهجرة

مرحبًا،

كما هو موضح هنا https://meta.discourse.org/t/upgrade-fails-while-migrating/121894، نحن نقوم حاليًا بالترقية من تثبيت قديم جدًا لمنصة Discourse إلى الإصدار الحالي v2.3.2. وقد لاحظنا أن جميع المنشورات تم تغيير نوعها إلى post_type=3 أثناء عملية الترحيل.

لقد اكتشفنا أن سكريبت ترحيل قديم لكنه محدث هو المسؤول عن هذا “التدمير”.

يبدو أن هذا هو الحال الضروري لجعل دمج السلاسل النصية يعمل:

sql = "UPDATE posts SET action_code = 'autoclosed.enabled', post_type = 3 "
sql += "WHERE post_type = 2 AND ("
sql += strings.map { |s| "raw ~* #{ActiveRecord::Base.connection.quote(s)}" }.join(' OR ')
sql += ")"

خطوة الترحيل الحالية تنتج هذا الاستعلام/المخرجات:

== 20150729150523 MigrateAutoClosePosts: migrating ============================
-- execute("UPDATE posts SET action_code = 'autoclosed.enabled', post_type = 3 ")

مع خالص التحية،
ساسا

إعجابَين (2)

@gerhard هل يمكنك إصلاح هذا الانتقال والتحقق من أن عمليات الانتقال لدينا متوافقة مع “frozen-strings”؟

إعجاب واحد (1)

شكرًا لتبليغك عن هذه المشكلة. تم الإصلاح في FIX: Migrations tried to change frozen string · discourse/discourse@a8cdd68 · GitHub

4 إعجابات