Fix #12587master^2
@@ -70,20 +70,22 @@ class IdsToBigints < ActiveRecord::Migration[5.1] | |||||
included_columns << [:deprecated_preview_cards, :id] if table_exists?(:deprecated_preview_cards) | included_columns << [:deprecated_preview_cards, :id] if table_exists?(:deprecated_preview_cards) | ||||
# Print out a warning that this will probably take a while. | # Print out a warning that this will probably take a while. | ||||
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 has some sections that can be safely interrupted' | |||||
say 'and restarted later, and will tell you when those are occurring.' | |||||
say '' | |||||
say 'For more information, see https://github.com/tootsuite/mastodon/pull/5088' | |||||
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 has some sections that can be safely interrupted' | |||||
say 'and restarted later, and will tell you when those are occurring.' | |||||
say '' | |||||
say 'For more information, see https://github.com/tootsuite/mastodon/pull/5088' | |||||
10.downto(1) do |i| | |||||
say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true | |||||
sleep 1 | |||||
10.downto(1) do |i| | |||||
say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true | |||||
sleep 1 | |||||
end | |||||
end | end | ||||
tables = included_columns.map(&:first).uniq | tables = included_columns.map(&:first).uniq | ||||
@@ -20,19 +20,21 @@ class FixAccountsUniqueIndex < ActiveRecord::Migration[5.2] | |||||
disable_ddl_transaction! | disable_ddl_transaction! | ||||
def up | 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 | 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 | 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 | ||||
@@ -62,16 +62,18 @@ class MigrateAccountConversations < ActiveRecord::Migration[5.2] | |||||
end | end | ||||
def up | 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 '' | |||||
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 '' | |||||
10.downto(1) do |i| | |||||
say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true | |||||
sleep 1 | |||||
end | |||||
end | end | ||||
migrated = 0 | migrated = 0 | ||||