From 5c5a35be2479a44c21b23bd19780db062ab5c87f Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 12 Jun 2025 20:04:43 -0400 Subject: [PATCH] Fix --- ...2000000_add_local_top_algorithm_support.rb | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/db/migrate/20240612000000_add_local_top_algorithm_support.rb b/db/migrate/20240612000000_add_local_top_algorithm_support.rb index 1eeec1eda4..11580d1d3f 100644 --- a/db/migrate/20240612000000_add_local_top_algorithm_support.rb +++ b/db/migrate/20240612000000_add_local_top_algorithm_support.rb @@ -1,12 +1,14 @@ # db/migrate/20240612000000_add_local_top_algorithm_support.rb -class AddLocalTopAlgorithmSupport < ActiveRecord::Migration[6.1] - def change - # Ensure status_stats exists (Mastodon usually has this) - unless column_exists?(:statuses, :status_stat_id) - add_reference :statuses, :status_stat, foreign_key: { on_delete: :cascade } - end - - # Add user preference for feed algorithm (default: chronological) - add_column :users, :feed_algorithm, :string, default: 'chronological' - end - end \ No newline at end of file +class AddLocalTopAlgorithmSupport < ActiveRecord::Migration[8.0] + disable_ddl_transaction! # Allows concurrent operations + + def change + # 1. Add reference without immediate foreign key validation + add_reference :statuses, :status_stat, + index: { algorithm: :concurrently }, # Concurrent index + foreign_key: { on_delete: :cascade, validate: false } # Defer validation + + # 2. Add user preference column (safe operation) + add_column :users, :feed_algorithm, :string, default: 'chronological' + end +end \ No newline at end of file