diff --git a/lib/data_migrate/config.rb b/lib/data_migrate/config.rb index a7aff17a..d54bd246 100644 --- a/lib/data_migrate/config.rb +++ b/lib/data_migrate/config.rb @@ -12,12 +12,13 @@ def config end class Config - attr_accessor :data_migrations_path, :data_template_path, :db_configuration, :spec_name + attr_accessor :data_migrations_path, :data_migrations_gen_path, :data_template_path, :db_configuration, :spec_name DEFAULT_DATA_TEMPLATE_PATH = "data_migration.rb" def initialize @data_migrations_path = "db/data/" + @data_migrations_gen_path = "db/data" @data_template_path = DEFAULT_DATA_TEMPLATE_PATH @db_configuration = nil @spec_name = nil diff --git a/lib/data_migrate/data_migrator_five.rb b/lib/data_migrate/data_migrator_five.rb index 67c3bbab..1ec6a4cd 100644 --- a/lib/data_migrate/data_migrator_five.rb +++ b/lib/data_migrate/data_migrator_five.rb @@ -6,7 +6,7 @@ module DataMigrate class DataMigrator < ActiveRecord::Migrator def self.migrations_paths - [DataMigrate.config.data_migrations_path] + Array.wrap(DataMigrate.config.data_migrations_path) end def self.assure_data_schema_table diff --git a/lib/data_migrate/data_schema.rb b/lib/data_migrate/data_schema.rb index 605fbfbc..4de8aca1 100644 --- a/lib/data_migrate/data_schema.rb +++ b/lib/data_migrate/data_schema.rb @@ -30,10 +30,12 @@ def migrated def versions @versions ||= begin - versions = [] - Dir.foreach(DataMigrate::DataMigrator.full_migrations_path) do |file| - match_data = DataMigrate::DataMigrator.match(file) - versions << match_data[1].to_i if match_data + versions = Set.new + DataMigrate::DataMigrator.migrations_paths.each do |path| + Dir.foreach(path) do |file| + match_data = DataMigrate::DataMigrator.match(file) + versions << match_data[1].to_i if match_data + end end versions end diff --git a/lib/generators/data_migration/data_migration_generator.rb b/lib/generators/data_migration/data_migration_generator.rb index b488ec83..f2cb5ac6 100644 --- a/lib/generators/data_migration/data_migration_generator.rb +++ b/lib/generators/data_migration/data_migration_generator.rb @@ -39,7 +39,7 @@ def data_migrations_file_path end def data_migrations_path - DataMigrate.config.data_migrations_path + DataMigrate.config.data_migrations_gen_path || DataMigrate.config.data_migrations_path end end end diff --git a/spec/generators/data_migration/data_migration_generator_spec.rb b/spec/generators/data_migration/data_migration_generator_spec.rb index 47547154..44de8d3e 100644 --- a/spec/generators/data_migration/data_migration_generator_spec.rb +++ b/spec/generators/data_migration/data_migration_generator_spec.rb @@ -36,7 +36,7 @@ context 'when custom data migrations path has a trailing slash' do before do - DataMigrate.config.data_migrations_path = 'abc/' + DataMigrate.config.data_migrations_gen_path = 'abc/' end it 'returns correct file path' do @@ -50,7 +50,7 @@ context 'when custom data migrations path does not have a trailing slash' do before do - DataMigrate.config.data_migrations_path = 'abc' + DataMigrate.config.data_migrations_gen_path = 'abc' end it 'returns correct file path' do