diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-08-19 15:55:15 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-08-19 15:55:15 -0300 |
commit | 315de6e4904cca63dcce7c91f0d06aa43caf62fb (patch) | |
tree | 774bbc5359bea20520c46d7db00e0b1f3123bf8d /activerecord/lib | |
parent | 48e2b86a507269b5e757106d9accd7b4606333d3 (diff) | |
parent | 838e18321118ee3ec6669217e5ea0216f79c969a (diff) | |
download | rails-315de6e4904cca63dcce7c91f0d06aa43caf62fb.tar.gz rails-315de6e4904cca63dcce7c91f0d06aa43caf62fb.tar.bz2 rails-315de6e4904cca63dcce7c91f0d06aa43caf62fb.zip |
Merge pull request #16349 from jmcnevin/master
Correctly determine if migration is needed.
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/migration.rb | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb index a6847e28c2..659c5e3bbb 100644 --- a/activerecord/lib/active_record/migration.rb +++ b/activerecord/lib/active_record/migration.rb @@ -836,21 +836,20 @@ module ActiveRecord SchemaMigration.table_name end - def get_all_versions - SchemaMigration.all.map { |x| x.version.to_i }.sort + def get_all_versions(connection = Base.connection) + if connection.table_exists?(schema_migrations_table_name) + SchemaMigration.all.map { |x| x.version.to_i }.sort + else + [] + end end def current_version(connection = Base.connection) - sm_table = schema_migrations_table_name - if connection.table_exists?(sm_table) - get_all_versions.max || 0 - else - 0 - end + get_all_versions(connection).max || 0 end def needs_migration?(connection = Base.connection) - current_version(connection) < last_version + (migrations(migrations_paths).collect(&:version) - get_all_versions(connection)).size > 0 end def last_version |