ترقية Discourse من 3.2.0 إلى 3.3.0 مشكلة في Postgres

مرحباً! لقد حاولت ترقية نسخة Discourse v3.2.0 الخاصة بي إلى v3.3.0. عندما كانت تقوم بتشغيل ترحيلات قاعدة البيانات، فشلت.

Execute db:migrate
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)
ERROR:  cannot drop column user_id of table invites because other objects depend on it
DETAIL:  trigger invites_user_id_readonly on table invites depends on column user_id of table invites
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

لقد قمت بإصلاح هذا عن طريق إسقاط 3 مشغلات في قاعدة البيانات:

DROP TRIGGER invites_user_id_readonly ON invites;

DROP TRIGGER invites_redeemed_at_readonly ON invites;

DROP TRIGGER user_api_keys_scopes_readonly ON user_api_keys;

سؤالي الفعلي هو، هل يمكنك تأكيد أن هذا خطأ من جانب Discourse؟ هل لديك خطط لإصلاحه في المستقبل؟

لدي PostgreSQL 14.10 قيد التشغيل.

تم إنشاء طلب سحب لإصلاح هذه المشكلة.

أنا بصدد إغلاق طلب السحب هذا لأنني لا أستطيع إعادة إنتاج المشكلة ولم يبلغ أي شخص آخر عن مشكلة مماثلة.

Migration::ColumnDropper.execute_drop يسقط الدالة read_only لكل عمود مع CASCADE. هذا يسقط أيضًا المشغل.

يبدو أن لديك مشغلًا لم يشر إلى الدالة read_only. لست متأكدًا من كيفية قيامك بذلك. هل تستخدم تثبيتًا قياسيًا؟