lib/octoshark/connection_manager.rb in octoshark-0.1.0 vs lib/octoshark/connection_manager.rb in octoshark-0.1.1
- old
+ new
@@ -42,10 +42,15 @@
connection_pool.disconnect!
end
end
end
+ def use_database(name, database_name, &block)
+ connection_pool = find_connection_pool(name)
+ with_connection_pool(name, connection_pool, database_name, &block)
+ end
+
def without_connection(&block)
change_connection_reference(nil) do
yield
end
end
@@ -95,12 +100,16 @@
def create_connection_pool(config)
spec = spec_class.new(config, "#{config[:adapter]}_connection")
ActiveRecord::ConnectionAdapters::ConnectionPool.new(spec)
end
- def with_connection_pool(name, connection_pool, &block)
+ def with_connection_pool(name, connection_pool, database_name = nil, &block)
connection_pool.with_connection do |connection|
connection.connection_name = name
+ if database_name
+ connection.database_name = database_name
+ connection.execute("use #{database_name}")
+ end
change_connection_reference(connection) do
yield(connection)
end
end