about summary refs log tree commit diff
path: root/db/migrate/20181024224956_migrate_account_conversations.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/migrate/20181024224956_migrate_account_conversations.rb')
-rw-r--r--db/migrate/20181024224956_migrate_account_conversations.rb30
1 files changed, 6 insertions, 24 deletions
diff --git a/db/migrate/20181024224956_migrate_account_conversations.rb b/db/migrate/20181024224956_migrate_account_conversations.rb
index 47f7375ba..b718f9e1d 100644
--- a/db/migrate/20181024224956_migrate_account_conversations.rb
+++ b/db/migrate/20181024224956_migrate_account_conversations.rb
@@ -14,17 +14,15 @@ class MigrateAccountConversations < ActiveRecord::Migration[5.2]
       sleep 1
     end
 
-    total        = estimate_rows(local_direct_statuses) + estimate_rows(notifications_about_direct_statuses)
-    migrated     = 0
-    started_time = Time.zone.now
-    last_time    = Time.zone.now
+    migrated  = 0
+    last_time = Time.zone.now
 
     local_direct_statuses.includes(:account, mentions: :account).find_each do |status|
       AccountConversation.add_status(status.account, status)
       migrated += 1
 
       if Time.zone.now - last_time > 1
-        say_progress(migrated, total, started_time)
+        say_progress(migrated)
         last_time = Time.zone.now
       end
     end
@@ -34,7 +32,7 @@ class MigrateAccountConversations < ActiveRecord::Migration[5.2]
       migrated += 1
 
       if Time.zone.now - last_time > 1
-        say_progress(migrated, total, started_time)
+        say_progress(migrated)
         last_time = Time.zone.now
       end
     end
@@ -45,24 +43,8 @@ class MigrateAccountConversations < ActiveRecord::Migration[5.2]
 
   private
 
-  def estimate_rows(query)
-    result = exec_query("EXPLAIN #{query.to_sql}").first
-    result['QUERY PLAN'].scan(/ rows=([\d]+)/).first&.first&.to_i || 0
-  end
-
-  def say_progress(migrated, total, started_time)
-    status = "Migrated #{migrated} rows"
-
-    percentage = 100.0 * migrated / total
-    status += " (~#{sprintf('%.2f', percentage)}%, "
-
-    remaining_time = (100.0 - percentage) * (Time.zone.now - started_time) / percentage
-
-    status += "#{(remaining_time / 60).to_i}:"
-    status += sprintf('%02d', remaining_time.to_i % 60)
-    status += ' remaining)'
-
-    say status, true
+  def say_progress(migrated)
+    say "Migrated #{migrated} rows", true
   end
 
   def local_direct_statuses