summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-08-07 18:20:18 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-08-07 18:20:18 +0000
commit33bcfbf8e3b78558da62c829e5d1f647e3339a8b (patch)
tree108417391893135ea00083a77d389c3a29994034 /spec
parentbfac6ce6e4a2415b76db1cd7321e312457c7ee89 (diff)
parent4d7c072da3b61d26ef86df0fde096c5f8dad4fc5 (diff)
downloadgitlab-ce-33bcfbf8e3b78558da62c829e5d1f647e3339a8b.tar.gz
Merge branch '36052-reset-only-migration-models' into 'master'
Reset only migration models Closes #36052 See merge request !13336
Diffstat (limited to 'spec')
-rw-r--r--spec/spec_helper.rb4
-rw-r--r--spec/support/migrations_helpers.rb10
2 files changed, 12 insertions, 2 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 06769b241ad..0ba6ed56314 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -134,13 +134,13 @@ RSpec.configure do |config|
ActiveRecord::Migrator
.migrate(migrations_paths, previous_migration.version)
- ActiveRecord::Base.descendants.each(&:reset_column_information)
+ reset_column_in_migration_models
end
config.after(:example, :migration) do
ActiveRecord::Migrator.migrate(migrations_paths)
- ActiveRecord::Base.descendants.each(&:reset_column_information)
+ reset_column_in_migration_models
end
config.around(:each, :nested_groups) do |example|
diff --git a/spec/support/migrations_helpers.rb b/spec/support/migrations_helpers.rb
index 91fbb4eaf48..aabdad13047 100644
--- a/spec/support/migrations_helpers.rb
+++ b/spec/support/migrations_helpers.rb
@@ -15,6 +15,16 @@ module MigrationsHelpers
ActiveRecord::Migrator.migrations(migrations_paths)
end
+ def reset_column_in_migration_models
+ described_class.constants.sort.each do |name|
+ const = described_class.const_get(name)
+
+ if const.is_a?(Class) && const < ActiveRecord::Base
+ const.reset_column_information
+ end
+ end
+ end
+
def previous_migration
migrations.each_cons(2) do |previous, migration|
break previous if migration.name == described_class.name