移行中にすべての投稿が post_type=3 に変更されました

こんにちは、

Upgrade fails while migrating に記載されている通り、現在、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

ご報告ありがとうございます。以下のコミットで修正されました。

「いいね!」 4