Gab Social. All are welcome.

This commit is contained in:
robcolbert
2019-07-02 03:10:25 -04:00
commit bd0b5afc92
5366 changed files with 222812 additions and 0 deletions

0
db/post_migrate/.gitkeep Normal file
View File

View File

@@ -0,0 +1,12 @@
# frozen_string_literal: true
class CopyStatusStatsCleanup < ActiveRecord::Migration[5.2]
disable_ddl_transaction!
def change
safety_assured do
remove_column :statuses, :reblogs_count, :integer, default: 0, null: false
remove_column :statuses, :favourites_count, :integer, default: 0, null: false
end
end
end

View File

@@ -0,0 +1,13 @@
# frozen_string_literal: true
class CopyAccountStatsCleanup < ActiveRecord::Migration[5.2]
disable_ddl_transaction!
def change
safety_assured do
remove_column :accounts, :statuses_count, :integer, default: 0, null: false
remove_column :accounts, :following_count, :integer, default: 0, null: false
remove_column :accounts, :followers_count, :integer, default: 0, null: false
end
end
end

View File

@@ -0,0 +1,45 @@
# frozen_string_literal: true
class RemoveSuspendedSilencedAccountFields < ActiveRecord::Migration[5.2]
class Account < ApplicationRecord
# Dummy class, to make migration possible across version changes
end
class DomainBlock < ApplicationRecord
# Dummy class, to make migration possible across version changes
enum severity: [:silence, :suspend, :noop]
has_many :accounts, foreign_key: :domain, primary_key: :domain
end
disable_ddl_transaction!
def up
# Record suspend date of blocks and silences for users whose limitations match
# a domain block
DomainBlock.where(severity: [:silence, :suspend]).find_each do |block|
scope = block.accounts
if block.suspend?
block.accounts.where(suspended: true).in_batches.update_all(suspended_at: block.created_at)
else
block.accounts.where(silenced: true).in_batches.update_all(silenced_at: block.created_at)
end
end
# Set dates for accounts which have limitations not related to a domain block
Account.where(suspended: true, suspended_at: nil).in_batches.update_all(suspended_at: Time.now.utc)
Account.where(silenced: true, silenced_at: nil).in_batches.update_all(silenced_at: Time.now.utc)
safety_assured do
remove_column :accounts, :suspended, :boolean, null: false, default: false
remove_column :accounts, :silenced, :boolean, null: false, default: false
end
end
def down
safety_assured do
add_column :accounts, :suspended, :boolean, null: false, default: false
add_column :accounts, :silenced, :boolean, null: false, default: false
end
end
end

View File

@@ -0,0 +1,23 @@
class RemoveBoostsWideningAudience < ActiveRecord::Migration[5.2]
disable_ddl_transaction!
def up
public_boosts = Status.find_by_sql(<<-SQL)
SELECT boost.id
FROM statuses AS boost
LEFT JOIN statuses AS boosted ON boost.reblog_of_id = boosted.id
WHERE
boost.id > 101746055577600000
AND (boost.local = TRUE OR boost.uri IS NULL)
AND boost.visibility IN (0, 1)
AND boost.reblog_of_id IS NOT NULL
AND boosted.visibility = 2
SQL
RemovalWorker.push_bulk(public_boosts.pluck(:id))
end
def down
raise ActiveRecord::IrreversibleMigration
end
end