Module: MultiDatabase9000

Defined in:
lib/multi-database-9000.rb,
lib/multi-database-9000/version.rb,
lib/active_record_extensions/schema.rb,
lib/multi-database-9000/multi-database-9000.rb

Defined Under Namespace

Modules: ActiveRecordExtensions Classes: Railtie

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.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

.migration_path_for(database) ⇒ Object



15
16
17
18
# File 'lib/multi-database-9000/multi-database-9000.rb', line 15

def self.migration_path_for(database)
  return nil unless database.present?
  return ["db/#{database}_migrate"]
end