about summary refs log tree commit diff
path: root/db/migrate/20181024224956_migrate_account_conversations.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-10-31 11:15:37 +0100
committerGitHub <noreply@github.com>2018-10-31 11:15:37 +0100
commita78ec63afa100a25494427ac3695e51e99520c2b (patch)
tree28f8a4165549a8406abf791a31d05f53a73f051f /db/migrate/20181024224956_migrate_account_conversations.rb
parent2b2facbbdfb7c0b53e38048e932143d592af401e (diff)
parent75b48dc1771f805f43c9dd2d55fc32ccf8951d68 (diff)
Merge pull request #803 from ThibG/glitch-soc/merge-upstream
Merge upstream changes (v2.6.1)
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