新安装在迁移时失败

我正在尝试使用 discourse_docker 安装新的 Discourse 实例,但迁移失败了:

== 20180916195601 MigrateS3BackupSiteSettings: migrating ======================
-- execute("UPDATE site_settings\nSET name      = 'backup_location',\n    data_type = 7,\n    value     = 's3'\nWHERE name = 'enable_s3_backups' AND value = 't';\n")
   -> 0.0005s
-- execute("DELETE\nFROM site_settings\nWHERE name = 'enable_s3_backups';\n")
   -> 0.0004s
== 20180916195601 MigrateS3BackupSiteSettings: migrated (0.0018s) =============

== 20180917024729 RemoveSuperfluousColumns: migrating =========================

WARNING
-------------------------------------------------------------------------------------
在迁移过程中尝试删除或重命名列
使用的 SQL 为:'ALTER TABLE user_profiles DROP COLUMN IF EXISTS card_image_badge_id'

请使用 `rails g post_migration` 生成一个部署后迁移,以删除或重命名列。

注意,为尽量减少干扰,请在您的 ActiveRecord 模型上使用 self.ignored_columns = ["column name"],大约 6 个月后可以移除该设置。

此保护机制旨在防止删除当前正在被运行中的应用使用的列。



FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' 失败,返回状态码为 #<Process::Status: pid 12775 exit 1>
失败位置:/pups/lib/pups/exec_command.rb:112:in `spawn'
执行失败,参数如下:{"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
59a086818934d9ab5ac6095987a41a5d4f317615dab7d86710afc36b0b40cf5e
** 引导失败 ** 请向上滚动查看更早的错误信息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。

当将版本强制设置为 v2.5.0.beta2 而不是 test_passed 时,它可以正常工作。我注意到最近有关于 SafeMigration 的提交记录,这似乎与此相关。

2 个赞

也许就是

2 个赞

@renchap
你找到解决方案了吗?

我已将性能相关的提交回滚到迁移文件中,以便 @sam 在长假结束后有机会审查此错误并进行修正:

7 个赞

已根据以下内容修复:

3 个赞