Merge commit '1e71c4e247eb8900a718b04113ffce9c1b8ad2f4' into glitch-soc/merge-upstream

This commit is contained in:
Claire
2024-11-10 13:18:43 +01:00
158 changed files with 2872 additions and 936 deletions

View File

@@ -0,0 +1,13 @@
# frozen_string_literal: true
class CreateAnnualReportStatusesPerAccountCounts < ActiveRecord::Migration[7.1]
def change
create_table :annual_report_statuses_per_account_counts do |t| # rubocop:disable Rails/CreateTableWithTimestamps
t.integer :year, null: false
t.bigint :account_id, null: false
t.bigint :statuses_count, null: false
end
add_index :annual_report_statuses_per_account_counts, [:year, :account_id], unique: true
end
end

View File

@@ -15,21 +15,10 @@ class AddUniqueIndexOnPreviewCardsStatuses < ActiveRecord::Migration[6.1]
private
def supports_concurrent_reindex?
@supports_concurrent_reindex ||= begin
ActiveRecord::Base.connection.database_version >= 120_000
end
end
def deduplicate_and_reindex!
deduplicate_preview_cards!
if supports_concurrent_reindex?
safety_assured { execute 'REINDEX INDEX CONCURRENTLY preview_cards_statuses_pkey' }
else
remove_index :preview_cards_statuses, name: :preview_cards_statuses_pkey
add_index :preview_cards_statuses, [:status_id, :preview_card_id], name: :preview_cards_statuses_pkey, algorithm: :concurrently, unique: true
end
safety_assured { execute 'REINDEX INDEX CONCURRENTLY preview_cards_statuses_pkey' }
rescue ActiveRecord::RecordNotUnique
retry
end

View File

@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.1].define(version: 2024_10_22_214312) do
ActiveRecord::Schema[7.1].define(version: 2024_11_04_082851) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -260,6 +260,13 @@ ActiveRecord::Schema[7.1].define(version: 2024_10_22_214312) do
t.bigint "status_ids", array: true
end
create_table "annual_report_statuses_per_account_counts", force: :cascade do |t|
t.integer "year", null: false
t.bigint "account_id", null: false
t.bigint "statuses_count", null: false
t.index ["year", "account_id"], name: "idx_on_year_account_id_ff3e167cef", unique: true
end
create_table "appeals", force: :cascade do |t|
t.bigint "account_id", null: false
t.bigint "account_warning_id", null: false