From 7742f440fa2a1541cd71512cadfec1762f16cdc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KMY=EF=BC=88=E9=9B=AA=E3=81=82=E3=81=99=E3=81=8B=EF=BC=89?= Date: Fri, 17 Nov 2023 08:39:09 +0900 Subject: [PATCH] Release: 9.0 (#279) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Release: 9.0 * Fix: マイグレーションコードの負荷 --- ...5225839_add_master_settings_to_accounts.rb | 26 +++++++++++++------ lib/mastodon/version.rb | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/db/migrate/20231105225839_add_master_settings_to_accounts.rb b/db/migrate/20231105225839_add_master_settings_to_accounts.rb index 7adbdf5493..25f6886c6a 100644 --- a/db/migrate/20231105225839_add_master_settings_to_accounts.rb +++ b/db/migrate/20231105225839_add_master_settings_to_accounts.rb @@ -13,12 +13,17 @@ class AddMasterSettingsToAccounts < ActiveRecord::Migration[7.1] safety_assured do add_column :accounts, :master_settings, :jsonb - Account.transaction do - Account.find_in_batches do |accounts| - accounts.each do |account| - account.update(master_settings: { 'subscription_policy' => account.dissubscribable ? 'block' : 'allow' }) + if Rails.env.test? + Account.transaction do + Account.find_in_batches do |accounts| + accounts.each do |account| + account.update(master_settings: { 'subscription_policy' => account.dissubscribable ? 'block' : 'allow' }) + end end end + else + Account.where(dissubscribable: true).update_all(master_settings: { 'subscription_policy' => 'block' }) # rubocop:disable Rails/SkipsModelValidations + Account.where(dissubscribable: false).update_all(master_settings: { 'subscription_policy' => 'allow' }) # rubocop:disable Rails/SkipsModelValidations end remove_column :accounts, :dissubscribable @@ -29,12 +34,17 @@ class AddMasterSettingsToAccounts < ActiveRecord::Migration[7.1] safety_assured do add_column_with_default :accounts, :dissubscribable, :boolean, default: false, allow_null: false - Account.transaction do - Account.find_in_batches do |accounts| - accounts.each do |account| - account.update(dissubscribable: account.master_settings.present? && account.master_settings['subscription_policy'] != 'allow') + if Rails.env.test? + Account.transaction do + Account.find_in_batches do |accounts| + accounts.each do |account| + account.update(dissubscribable: account.master_settings.present? && account.master_settings['subscription_policy'] != 'allow') + end end end + else + Account.where(master_settings: { subscription_policy: 'block' }).update_all(dissubscribable: true) # rubocop:disable Rails/SkipsModelValidations + Account.where(master_settings: { subscription_policy: 'allow' }).update_all(dissubscribable: false) # rubocop:disable Rails/SkipsModelValidations end remove_column :accounts, :master_settings diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 8d999a1cd7..1c9bee3a21 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -5,7 +5,7 @@ module Mastodon module_function def kmyblue_major - 8 + 9 end def kmyblue_minor