diff options
author | Thibaut Girka <thib@sitedethib.com> | 2020-01-27 15:46:50 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2020-01-27 15:46:50 +0100 |
commit | c56a504d116d62fe669d15a270133d7c78dd61f1 (patch) | |
tree | 7400f3182f2a4ebd1606c37a1a5cad4cc95e443b /db/migrate/20180528141303_fix_accounts_unique_index.rb | |
parent | 8924743349ec5ce37cd949445e071c14968ec2ec (diff) | |
parent | c2dfd5e4e24a70fbfa02678fde4cfc6f6750deb4 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - `app/serializers/rest/account_serializer.rb`: Upstream added code too close to glitch-soc-specific followers-hiding code. Ported upstream changes.
Diffstat (limited to 'db/migrate/20180528141303_fix_accounts_unique_index.rb')
-rw-r--r-- | db/migrate/20180528141303_fix_accounts_unique_index.rb | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/db/migrate/20180528141303_fix_accounts_unique_index.rb b/db/migrate/20180528141303_fix_accounts_unique_index.rb index bbbf28d81..5d7b3c463 100644 --- a/db/migrate/20180528141303_fix_accounts_unique_index.rb +++ b/db/migrate/20180528141303_fix_accounts_unique_index.rb @@ -20,19 +20,21 @@ class FixAccountsUniqueIndex < ActiveRecord::Migration[5.2] disable_ddl_transaction! def up - say '' - say 'WARNING: This migration may take a *long* time for large instances' - say 'It will *not* lock tables for any significant time, but it may run' - say 'for a very long time. We will pause for 10 seconds to allow you to' - say 'interrupt this migration if you are not ready.' - say '' - say 'This migration will irreversibly delete user accounts with duplicate' - say 'usernames. You may use the `rake mastodon:maintenance:find_duplicate_usernames`' - say 'task to manually deal with such accounts before running this migration.' - - 10.downto(1) do |i| - say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true - sleep 1 + if $stdout.isatty + say '' + say 'WARNING: This migration may take a *long* time for large instances' + say 'It will *not* lock tables for any significant time, but it may run' + say 'for a very long time. We will pause for 10 seconds to allow you to' + say 'interrupt this migration if you are not ready.' + say '' + say 'This migration will irreversibly delete user accounts with duplicate' + say 'usernames. You may use the `rake mastodon:maintenance:find_duplicate_usernames`' + say 'task to manually deal with such accounts before running this migration.' + + 10.downto(1) do |i| + say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true + sleep 1 + end end duplicates = Account.connection.select_all('SELECT string_agg(id::text, \',\') AS ids FROM accounts GROUP BY lower(username), lower(domain) HAVING count(*) > 1').to_hash |