From 264d33fd5c879654c2631e16545b52bb764b41cc Mon Sep 17 00:00:00 2001 From: Gustavo Diel Date: Fri, 23 Sep 2022 13:49:40 -0300 Subject: [PATCH 1/5] feat: fix generation when engines define data migrations path --- lib/data_migrate/config.rb | 3 ++- lib/generators/data_migration/data_migration_generator.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/data_migrate/config.rb b/lib/data_migrate/config.rb index 78ec34d2..67533b7b 100644 --- a/lib/data_migrate/config.rb +++ b/lib/data_migrate/config.rb @@ -12,10 +12,11 @@ def config end class Config - attr_accessor :data_migrations_path, :db_configuration, :spec_name + attr_accessor :data_migrations_gen_path, :data_migrations_path, :db_configuration, :spec_name def initialize @data_migrations_path = "db/data/" + @data_migrations_gen_path = "db/data/" @db_configuration = nil @spec_name = nil end diff --git a/lib/generators/data_migration/data_migration_generator.rb b/lib/generators/data_migration/data_migration_generator.rb index f8279545..ab1546af 100644 --- a/lib/generators/data_migration/data_migration_generator.rb +++ b/lib/generators/data_migration/data_migration_generator.rb @@ -35,7 +35,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 From dd6378cdeb77c1ac5b9e0adb297ba454cf5c67e4 Mon Sep 17 00:00:00 2001 From: Gustavo Diel Date: Fri, 23 Sep 2022 14:25:52 -0300 Subject: [PATCH 2/5] feat: support engines --- lib/data_migrate/data_migrator_five.rb | 2 +- .../data_migration/data_migration_generator_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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/spec/generators/data_migration/data_migration_generator_spec.rb b/spec/generators/data_migration/data_migration_generator_spec.rb index aa870651..cc773aad 100644 --- a/spec/generators/data_migration/data_migration_generator_spec.rb +++ b/spec/generators/data_migration/data_migration_generator_spec.rb @@ -31,7 +31,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 @@ -45,7 +45,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 From 9aefda5375bcdaf50d8382610a7f29571ddb0aa6 Mon Sep 17 00:00:00 2001 From: Gustavo Diel Date: Fri, 23 Sep 2022 13:49:40 -0300 Subject: [PATCH 3/5] feat: fix generation when engines define data migrations path --- lib/generators/data_migration/data_migration_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 9d81103289f3f12f9d684d68061a0705155da340 Mon Sep 17 00:00:00 2001 From: Gustavo Diel Date: Fri, 23 Sep 2022 14:25:52 -0300 Subject: [PATCH 4/5] feat: support engines --- lib/data_migrate/data_migrator_five.rb | 2 +- .../data_migration/data_migration_generator_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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/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 From 3807de412e2f91d79861716488389913387c35be Mon Sep 17 00:00:00 2001 From: Chris Blatchley Date: Tue, 31 Jan 2023 11:11:40 -0800 Subject: [PATCH 5/5] fix: iterate through migration dirs --- lib/data_migrate/data_schema.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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