你好,
如 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 ")
此致
Sascha
2 个赞
@gerhard 你能修复那个迁移,并验证我们的迁移是否与“frozen-strings”兼容吗?
1 个赞
gerhard
(Gerhard Schlager)
4
4 个赞