您好!
我目前有一个运行在 2.9.0.beta4 上的实例,我需要迁移它,所以我做了基本的备份/恢复,但恢复在新实例上失败了。然后我决定尝试更新原始实例,但它也失败了。两者似乎都因为同样的原因在 db:migrate 命令期间失败。
更新错误:https://pastebin.com/raw/sQrnMe27
恢复错误:https://pastebin.com/raw/idWYmEFq
感谢您的帮助!
您好!
我目前有一个运行在 2.9.0.beta4 上的实例,我需要迁移它,所以我做了基本的备份/恢复,但恢复在新实例上失败了。然后我决定尝试更新原始实例,但它也失败了。两者似乎都因为同样的原因在 db:migrate 命令期间失败。
更新错误:https://pastebin.com/raw/sQrnMe27
恢复错误:https://pastebin.com/raw/idWYmEFq
感谢您的帮助!
看起来可能是一个 ![]()
这在我看来是在核心部分,但标准问题是您是否有任何非标准插件?
不,这是原版的 ![]()
我在我的测试站点上遇到了类似的错误,当时我的 selectable_avatar 站点设置中存在一些错误数据,不得不通过 rails 控制台进行更新。
您是否熟悉使用 rails 控制台?如果熟悉,您能否运行以下命令并查看结果:
SiteSetting.where(data_type:17)
我不确定我是否做对了,但这是我的结果:
=> #<ActiveRecord::Relation [#<SiteSetting id: 56, name: "selectable_avatars", data_type: 17, value: "[]", created_at: "2022-06-07 04:30:35.458837000 +0000", updated_at: "2022-06-08 08:14:54.196037000 +0000">]>
我认为您应该能够再次从 Rails 控制台运行 SiteSetting.selectable_avatars = \"\",然后就可以进行重建了。
目前,正在重建,刚刚通过了有压力的 db migrate 命令,所以我想这个问题已经解决了。
非常感谢你们两位的快速帮助!
看起来你做到了!你应该看看是否能引起对此事的关注,因为我非常确定迁移应该会将那些可选的头像迁移到新格式。
是的,而且在我们见过的所有其他情况中都奏效了。[] 即使在旧格式中也不是一个有效的值,所以这种情况特别令人惊讶。也许是控制台手动操作的遗留问题,或者是不好的导入 ![]()
如果我们收到更多报告,我们一定会为这种情况添加自动修复程序。
啊。对了。通常当我遇到那个错误时,是因为我搞砸了,以至于我访问了错误的变量或其他东西。但也许那是在所有其他变量都被删除后留下的状态。但说真的,我没有足够仔细地关注。![]()
我们的“列表”设置是基于管道分隔字符串的精简用户界面,所以理论上一个空列表应该存储为空字符串。但你提出了一个很好的观点——也许有人试图清空列表,却不小心这样做了:
pry(main)> SiteSetting.selectable_avatars = []
=> []
pry(main)> SiteSetting.selectable_avatars
=> "[]"
(这是旧格式。新格式有验证来防止这种情况发生,即使是在控制台中)
嗯,在我们的案例中,论坛是在本月初设置的,而且根本没有与控制台进行任何交互(也没有导入)。事实上,我今天才发现 rails console ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.