aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/railties
diff options
context:
space:
mode:
authorKir Shatrov <shatrov@me.com>2016-12-31 12:06:15 -0500
committerKir Shatrov <shatrov@me.com>2017-01-01 19:23:23 -0500
commit6cd757963d7f6b9bb33704c82bd9ee2bacaa1e28 (patch)
tree18d015b92654915188f53a5e4c7ccde340360ff3 /activerecord/lib/active_record/railties
parent233499b6d6f7df1b2b367ab2e0117021ac1e419b (diff)
downloadrails-6cd757963d7f6b9bb33704c82bd9ee2bacaa1e28.tar.gz
rails-6cd757963d7f6b9bb33704c82bd9ee2bacaa1e28.tar.bz2
rails-6cd757963d7f6b9bb33704c82bd9ee2bacaa1e28.zip
Dump schema cache for custom connection
Today `rake db:schema:cache:dump` only supports dumping cache for a single connection (`ActiveRecord::Base.connection`). This doesn't work for apps with multiple databases. This PR makes `DatabaseTasks` to provide an API for dumping schema cache for any connection.
Diffstat (limited to 'activerecord/lib/active_record/railties')
-rw-r--r--activerecord/lib/active_record/railties/databases.rake5
1 files changed, 1 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake
index 25d79a6c7d..cf1c0fb423 100644
--- a/activerecord/lib/active_record/railties/databases.rake
+++ b/activerecord/lib/active_record/railties/databases.rake
@@ -269,10 +269,7 @@ db_namespace = namespace :db do
task dump: [:environment, :load_config] do
conn = ActiveRecord::Base.connection
filename = File.join(ActiveRecord::Tasks::DatabaseTasks.db_dir, "schema_cache.yml")
-
- conn.schema_cache.clear!
- conn.data_sources.each { |table| conn.schema_cache.add(table) }
- open(filename, "wb") { |f| f.write(YAML.dump(conn.schema_cache)) }
+ ActiveRecord::Tasks::DatabaseTasks.dump_schema_cache(conn, filename)
end
desc "Clears a db/schema_cache.yml file."