parent
3f9dc3747b
commit
820fff38d7
1 changed files with 11 additions and 13 deletions
|
@ -1,14 +1,12 @@
|
||||||
# db/migrate/20240612000000_add_local_top_algorithm_support.rb
|
# db/migrate/20240612000000_add_local_top_algorithm_support.rb
|
||||||
class AddLocalTopAlgorithmSupport < ActiveRecord::Migration[8.0]
|
class AddLocalTopAlgorithmSupport < ActiveRecord::Migration[6.1]
|
||||||
disable_ddl_transaction! # Allows concurrent operations
|
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
|
||||||
|
|
||||||
def change
|
# Add user preference for feed algorithm (default: chronological)
|
||||||
# 1. Add reference without immediate foreign key validation
|
add_column :users, :feed_algorithm, :string, default: 'chronological'
|
||||||
add_reference :statuses, :status_stat,
|
end
|
||||||
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
|
||||||
end
|
|
Loading…
Add table
Add a link
Reference in a new issue