]> cat aescling's git repositories - mastodon.git/commitdiff
Fix #5329 (#5332)
authoraschmitz <andy.schmitz@gmail.com>
Wed, 11 Oct 2017 19:20:39 +0000 (14:20 -0500)
committerEugen Rochko <eugen@zeonfederated.com>
Wed, 11 Oct 2017 19:20:39 +0000 (21:20 +0200)
This fixes #5329, which occurred when using MigrationHelpers on a
table that Postgres estimated to be non-empty when it was actually
empty.

lib/mastodon/migration_helpers.rb

index ed716501e740d623ab1a62299a1125df104c9d01..80a8f440c3bf1913b4dc818c1c1b96e2c1d28a74 100644 (file)
@@ -335,7 +335,10 @@ module Mastodon
 
       start_arel = table.project(table[:id]).order(table[:id].asc).take(1)
       start_arel = yield table, start_arel if block_given?
-      start_id = exec_query(start_arel.to_sql).to_hash.first['id'].to_i
+      first_row = exec_query(start_arel.to_sql).to_hash.first
+      # In case there are no rows but we didn't catch it in the estimated size:
+      return unless first_row
+      start_id = first_row['id'].to_i
       
       say "Migrating #{table_name}.#{column} (~#{total.to_i} rows)"