diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-03-05 00:29:41 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-03-05 00:29:41 +0900 |
commit | 031605aa90fd6bbb706758cdf1a6e235f48c0ea7 (patch) | |
tree | 44cc0504be57f06aa0cd1eadbec13b94c9e38aed /activerecord/lib | |
parent | 145adda5815e910df09af107e9ff97467799e853 (diff) | |
download | rails-031605aa90fd6bbb706758cdf1a6e235f48c0ea7.tar.gz rails-031605aa90fd6bbb706758cdf1a6e235f48c0ea7.tar.bz2 rails-031605aa90fd6bbb706758cdf1a6e235f48c0ea7.zip |
Fix `rake db:schema:load` with subdirectories
Related #25174.
`db:schema:load` doesn't work with subdirectories like previous
`db:migrate:status`. `Migrator.migration_files` should be used in
`assume_migrated_upto_version` to fix the issue.
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 9 |
1 files changed, 4 insertions, 5 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 e683106527..1df586f672 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -1022,15 +1022,14 @@ module ActiveRecord { primary_key: true } end - def assume_migrated_upto_version(version, migrations_paths) - migrations_paths = Array(migrations_paths) + def assume_migrated_upto_version(version, paths) # :nodoc: + paths = Array(paths) version = version.to_i sm_table = quote_table_name(ActiveRecord::Migrator.schema_migrations_table_name) migrated = select_values("SELECT version FROM #{sm_table}").map(&:to_i) - paths = migrations_paths.map { |p| "#{p}/[0-9]*_*.rb" } - versions = Dir[*paths].map do |filename| - filename.split("/").last.split("_").first.to_i + versions = ActiveRecord::Migrator.migration_files(paths).map do |file| + ActiveRecord::Migrator.parse_migration_filename(file).first.to_i end unless migrated.include?(version) |