aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorAndrew White <pixeltrix@users.noreply.github.com>2017-03-06 12:09:23 +0000
committerGitHub <noreply@github.com>2017-03-06 12:09:23 +0000
commit003bd6ebe2ba8644a0b331a9b5de8bfc1847b854 (patch)
treeff2e7f4e0ed92e9c79e74e5f98bb57ba605c07be /activerecord
parent0b5c7e354291bdf674fa8777b6443b224924bad4 (diff)
parent2803c0382fe60423b5c17c1be37abaf1cc408819 (diff)
downloadrails-003bd6ebe2ba8644a0b331a9b5de8bfc1847b854.tar.gz
rails-003bd6ebe2ba8644a0b331a9b5de8bfc1847b854.tar.bz2
rails-003bd6ebe2ba8644a0b331a9b5de8bfc1847b854.zip
Merge pull request #28305 from kamipo/extract_schema_migration_all_versions
Extract `SchemaMigration.all_versions`
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb4
-rw-r--r--activerecord/lib/active_record/migration.rb2
-rw-r--r--activerecord/lib/active_record/schema_migration.rb6
3 files changed, 8 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
index cbb93e0ffe..a497a354f7 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -991,7 +991,7 @@ module ActiveRecord
end
def dump_schema_information #:nodoc:
- versions = ActiveRecord::SchemaMigration.order("version").pluck(:version)
+ versions = ActiveRecord::SchemaMigration.all_versions
insert_versions_sql(versions)
end
@@ -1027,7 +1027,7 @@ module ActiveRecord
version = version.to_i
sm_table = quote_table_name(ActiveRecord::SchemaMigration.table_name)
- migrated = select_values("SELECT version FROM #{sm_table}").map(&:to_i)
+ migrated = ActiveRecord::SchemaMigration.all_versions.map(&:to_i)
versions = ActiveRecord::Migrator.migration_files(migrations_paths).map do |file|
ActiveRecord::Migrator.parse_migration_filename(file).first.to_i
end
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index d8cf784933..3eb9171a5f 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -1024,7 +1024,7 @@ module ActiveRecord
def get_all_versions(connection = Base.connection)
if SchemaMigration.table_exists?
- SchemaMigration.all.map { |x| x.version.to_i }.sort
+ SchemaMigration.all_versions.map(&:to_i)
else
[]
end
diff --git a/activerecord/lib/active_record/schema_migration.rb b/activerecord/lib/active_record/schema_migration.rb
index 5efbcff96a..f59737afb0 100644
--- a/activerecord/lib/active_record/schema_migration.rb
+++ b/activerecord/lib/active_record/schema_migration.rb
@@ -39,7 +39,11 @@ module ActiveRecord
end
def normalized_versions
- pluck(:version).map { |v| normalize_migration_number v }
+ all_versions.map { |v| normalize_migration_number v }
+ end
+
+ def all_versions
+ order(:version).pluck(:version)
end
end