From 8fa8bab9ff361bfa36592a6e32cfb96a4fc38d06 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Wed, 4 Mar 2020 16:57:16 +0100 Subject: [PATCH] FIX: Don't optimize icons during db:migrate when restoring backup Uploads are extracted after the DB migration, so this could lead to a failure during the restore. Site icons get optimized after extracting uploads. --- lib/backup_restore/database_restorer.rb | 2 +- lib/tasks/db.rake | 2 +- spec/lib/backup_restore/database_restorer_spec.rb | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/backup_restore/database_restorer.rb b/lib/backup_restore/database_restorer.rb index b3cb9ab0c8..d0880c97ed 100644 --- a/lib/backup_restore/database_restorer.rb +++ b/lib/backup_restore/database_restorer.rb @@ -134,7 +134,7 @@ module BackupRestore log "Migrating the database..." log Discourse::Utils.execute_command( - { "SKIP_POST_DEPLOYMENT_MIGRATIONS" => "0" }, + { "SKIP_POST_DEPLOYMENT_MIGRATIONS" => "0", "SKIP_OPTIMIZE_ICONS" => "1" }, "rake db:migrate", failure_message: "Failed to migrate database.", chdir: Rails.root diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake index 626acd5760..df830da6ac 100644 --- a/lib/tasks/db.rake +++ b/lib/tasks/db.rake @@ -77,7 +77,7 @@ task 'db:migrate' => ['load_config', 'environment', 'set_locale'] do |_, args| SeedFu.seed(DiscoursePluginRegistry.seed_paths) - if !Discourse.skip_post_deployment_migrations? + if !Discourse.skip_post_deployment_migrations? && ENV['SKIP_OPTIMIZE_ICONS'] != '1' puts print "Optimizing site icons... " SiteIconManager.ensure_optimized! diff --git a/spec/lib/backup_restore/database_restorer_spec.rb b/spec/lib/backup_restore/database_restorer_spec.rb index 6d79dff9ef..02666093b0 100644 --- a/spec/lib/backup_restore/database_restorer_spec.rb +++ b/spec/lib/backup_restore/database_restorer_spec.rb @@ -37,6 +37,7 @@ describe BackupRestore::DatabaseRestorer do def expect_db_migrate Discourse::Utils.expects(:execute_command).with do |env, command, options| env["SKIP_POST_DEPLOYMENT_MIGRATIONS"] == "0" && + env["SKIP_OPTIMIZE_ICONS"] == "1" && command == "rake db:migrate" && options[:chdir] == Rails.root end.once