Method: MultiDatabase9000.maintain_all_test_schemas!

Defined in:
lib/multi-database-9000/multi-database-9000.rb

.maintain_all_test_schemas!Object



2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/multi-database-9000/multi-database-9000.rb', line 2

def self.maintain_all_test_schemas!
  if ActiveRecord::Migrator.needs_migration? || !ActiveRecord::Migrator.any_migrations?
    # Roundrip to Rake to allow plugins to hook into database initialization.
    FileUtils.cd Rails.root do
      current_config = ActiveRecord::Base.connection_config
      ActiveRecord::Base.clear_all_connections!
      system("bin/rake db:test:prepare")
      # Establish a new connection, the old database may be gone (db:test:prepare uses purge)
      ActiveRecord::Base.establish_connection(current_config)
    end
  end
end