从 1.6.0 升级到 3

大家好,

我正在尝试将过时的 Discourse 安装从 1.6.0 升级到最新版本。

我在本地创建了一个开发服务器,确保它正在运行,然后将 1.6.0 备份恢复到其中。

恢复完成后,我的网站有点混乱,
管理区域中的所有标题都以“en.admin.”开头。

控制台也充满了错误。

似乎无法修复,而且我不太确定哪里出了问题。



1 个赞

我会恢复到生产环境。开发环境的设置相当棘手,而且你不会在开发环境上运行你的网站。

你有没有自定义主题?很有可能它们已经损坏了。

2 个赞

我将尝试一个新的 DigitalOcean Droplet,看看是否有任何区别

是的,里面有自定义标头等。
也许我应该在备份前禁用所有这些?

2 个赞

在备份前禁用它们是个好主意。

2 个赞

我成功地恢复到了一个新的 DigitalOcean 虚拟机——最终没有放弃自定义主题。

我已将大部分内容运行起来,但当我尝试编辑现有类别时,出现了一个错误。

当我尝试加载 /c/xxxx-xxxx-xxxx/find_by_slug.json 时,我收到一个服务器错误。
错误代码 500 错误。

我也无法创建新类别——500 错误。
而且我也无法重新排序类别。

1 个赞

在网站设置中将“slug 生成方法”设置为“encoded”。

3 个赞

不,也尝试将其设置为无。
仍然收到 500 错误。

编辑现有主题时也会收到这些错误 - 不过略有不同,因为顶部确实得到了编辑,但我仍然收到 500 错误消息。

1 个赞

在 1.6.0 版本中,编辑分类的请求是

show.json?1674060788449
http://discourse.url.com/c/20/show.json?_=1674060788449

在 3.1 版本中,它使用的是 find_by_slug.json
https://discourse.url.com/c/category_name/find_by_slug.json

1 个赞

转到 /logs 并在此处分享这些错误的日志消息和堆栈跟踪。

1 个赞

错误消息

NoMethodError (未定义方法 `default_slow_mode_seconds' for #<Category id: 20, name: "Music Tech Discussion", color: "ee6b65", topic_id: 36276, topic_count: 5648, created_at: "2016-02-26 12:31:28.

信息

消息 (报告了 25 条)

NoMethodError (未定义方法 `default_slow_mode_seconds' for #<Category id: 20, name: "Music Tech Discussion", color: "ee6b65", topic_id: 36276, topic_count: 5648, created_at: "2016-02-26 12:31:28.763958000 +0000", updated_at: "2023-01-18 15:06:21.512625000 +0000", user_id: 12, topics_year: 7, topics_month: 0, topics_week: 0, slug: "music-tech-discussion", description: nil, text_color: "FFFFFF", read_restricted: false, auto_close_hours: nil, post_count: 56980, latest_post_id: 228821, latest_topic_id: 36207, position: 1, parent_category_id: nil, posts_year: 24, posts_month: 0, posts_week: 0, email_in: nil, email_in_allow_strangers: false, topics_day: 0, posts_day: 0, allow_badges: true, name_lower: "music tech discussion", auto_close_based_on_last_post: false, topic_template: "", contains_messages: nil, sort_order: nil, sort_ascending: nil, uploaded_logo_id: nil, uploaded_background_id: nil, topic_featured_link_allowed: true, all_topics_wiki: false, show_subcategory_list: false, num_featured_topics: 1, default_view: nil, subcategory_list_style: "rows_with_featured_topics", default_top_period: "all", mailinglist_mirror: false, minimum_required_tags: 0, navigate_to_first_post_after_read: false, search_priority: 0, allow_global_tags: false, reviewable_by_group_id: nil, read_only_banner: nil, default_list_filter: "all", allow_unlimited_owner_edits_on_first_post: false>
你是指? default_scopes)
(eval):53:in `_fast_attributes'
app/controllers/application_controller.rb:523:in `serialize_data'
app/controllers/application_controller.rb:532:in `render_serialized'
app/controllers/categories_controller.rb:284:in `find_by_slug'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logge...

回溯

activemodel (7.0.4) lib/active_model/attribute_methods.rb:458:in `method_missing'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:99:in `block in attribute'
(eval):53:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:343:in `as_json'
app/controllers/application_controller.rb:523:in `serialize_data'
app/controllers/application_controller.rb:532:in `render_serialized'

环境

HTTP HOSTS: forumstest.xxx.com

回溯

activemodel (7.0.4) lib/active_model/attribute_methods.rb:458:in `method_missing'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:99:in `block in attribute'
(eval):53:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:343:in `as_json'
app/controllers/application_controller.rb:523:in `serialize_data'
app/controllers/application_controller.rb:532:in `render_serialized'
app/controllers/categories_controller.rb:284:in `find_by_slug'
actionpack (7.0.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.4) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/rendering.rb:53:in `process_action'
actionpack (7.0.4) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.4) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
i18n (1.12.0) lib/i18n.rb:322:in `with_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
activesupport (7.0.4) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.4) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.4) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.4) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.4) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.4) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.0.0) lib/mini_profiler/profiling_methods.rb:111:in `block in profile_method'
actionpack (7.0.4) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.4) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.4) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.4) lib/action_dispatch/routing/route_set.rb:852:in `call'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
rack (2.2.6.2) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.6.2) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.6.2) lib/rack/head.rb:12:in `call'
actionpack (7.0.4) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
rack (2.2.6.2) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.6.2) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/cookies.rb:696:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.4) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.4) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
logster (2.11.3) lib/logster/middleware/reporter.rb:43:in `call'
railties (7.0.4) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.4) lib/rails/rack/logger.rb:27:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.6.2) lib/rack/method_override.rb:24:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.6.2) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler (3.0.0) lib/mini_profiler/profiler.rb:393:in `call'
message_bus (4.3.2) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:228:in `call'
railties (7.0.4) lib/rails/engine.rb:530:in `call'
railties (7.0.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.6.2) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.6.2) lib/rack/urlmap.rb:58:in `each'
rack (2.2.6.2) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.1.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.1.0/bin/unicorn:25:in `<main>'
1 个赞

看起来缺少一个迁移?你能尝试重建吗?

2 个赞

./launcher rebuild app?

正在重建,稍后向您汇报

2 个赞

看起来那个解决了!\n\n非常感谢

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.