こんにちは、
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
gerhard
(Gerhard Schlager)
4
ご報告ありがとうございます。以下のコミットで修正されました。
「いいね!」 4