更新 Discourse 时出现迁移版本错误

你好

我尝试更新 Discourse,但一直遇到此错误:

discourse-user-card-badges 已是最新兼容版本
docker_manager 已是最新兼容版本
discourse-extra-group-classes 已是最新兼容版本
discourse-docs 已是最新兼容版本
discourse-rss-polling 已是最新兼容版本
discourse-cakeday 已是最新兼容版本
discourse-translator 已是最新兼容版本
discourse-invite-tokens 已是最新兼容版本
正在检出兼容的 discourse-assign 版本:46f200935dc9e5750c3f2740abd993e27a9b3f6c
HEAD 现在是 46f2009 更新翻译 (#331)
discourse-landing-pages 已是最新兼容版本
discourse-saml 已是最新兼容版本
discourse-custom-wizard 已是最新兼容版本
discourse-sitemap 已是最新兼容版本
discourse-legal-tools 已是最新兼容版本
正在检出兼容的 discourse-spoiler-alert 版本:c65972911f7ab3323dfe3de4a727a9cb2961b57b
HEAD 现在是 c659729 DEV:更新 CI 工作流 (#83)
discourse-solved 已是最新兼容版本
discourse-checklist 已是最新兼容版本
discourse-canned-replies 已是最新兼容版本

I, [2022-06-15T01:32:12.316411 #1]  INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
ArgumentError: 未知的迁移版本“7.0”;应为“4.2”、“5.0”、“5.1”、“5.2”、“6.0”、“6.1”之一
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration/compatibility.rb:11:in `find'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:567:in `[]'
/var/www/discourse/plugins/discourse-calendar/db/post_migrate/20220613073844_unescape_event_name.rb:3:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:88:in `register'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1045:in `load_migration'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1041:in `migration'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1037:in `disable_ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1387:in `use_transaction?'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1334:in `rescue in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1322:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1302:in `each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1302:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1251:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1401:in `block in with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1416:in `block in with_advisory_lock_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1416:in `with_advisory_lock_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1397:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1251:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1086:in `up'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/migration.rb:1061:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.1/lib/active_record/tasks/database_tasks.rb:237:in `migrate'
/var/www/discourse/lib/tasks/db.rake:218:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:210:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

我该如何解决这个问题?

编辑:澄清一下,我正在稳定版上运行此版本

祝好

2 个赞

看起来昨天安全补丁与稳定版 @blake 不兼容,这可能也是一个 [6.0] 迁移。

4 个赞

@hyphalos 正在尝试追踪我们可能需要在此处更新的迁移。您是否安装了 discourse-calendar 插件?

编辑:
啊,看起来是的。第一眼扫过上面的日志时错过了这个:

/var/www/discourse/plugins/discourse-calendar/db/post_migrate/20220613073844_unescape_event_name.rb:3:in

3 个赞

@hyphalos discourse-calendar 插件的修复程序已创建。您现在可以更新 discourse 了。

9 个赞

谢谢 @blake!感谢您的回复和帮助!

1 个赞

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