diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-08-07 18:20:18 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-08-07 18:20:18 +0000 |
commit | 33bcfbf8e3b78558da62c829e5d1f647e3339a8b (patch) | |
tree | 108417391893135ea00083a77d389c3a29994034 /spec | |
parent | bfac6ce6e4a2415b76db1cd7321e312457c7ee89 (diff) | |
parent | 4d7c072da3b61d26ef86df0fde096c5f8dad4fc5 (diff) | |
download | gitlab-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.rb | 4 | ||||
-rw-r--r-- | spec/support/migrations_helpers.rb | 10 |
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 |