method
load_schema_if_pending!
v7.0.0 -
Show latest stable
- Class:
ActiveRecord::Migration
load_schema_if_pending!()public
No documentation available.
# File activerecord/lib/active_record/migration.rb, line 630
def load_schema_if_pending!
current_db_config = Base.connection_db_config
all_configs = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env)
needs_update = !all_configs.all? do |db_config|
Tasks::DatabaseTasks.schema_up_to_date?(db_config, ActiveRecord.schema_format)
end
if needs_update
# Roundtrip to Rake to allow plugins to hook into database initialization.
root = defined?(ENGINE_ROOT) ? ENGINE_ROOT : Rails.root
FileUtils.cd(root) do
Base.clear_all_connections!
system("bin/rails db:test:prepare")
end
end
# Establish a new connection, the old database may be gone (db:test:prepare uses purge)
Base.establish_connection(current_db_config)
check_pending!
end