For multiple database connections, is it better to have a mixin included into the model that does a establish connection on included event or is it better to have an abstract class that establishes the connnection and inherit from the abstract class? In particular, how do Rails handle database connections? It is supposed to use a connection pool, does the pooling break if you use a mixin?
Mixin:
module CustomConnect
def self.included(base) config = ActiveRecord::Base.configurations["custom_"+RAILS_ENV] base.establish_connection(config) end
end
and then you do a
class abc < ActiveRecord::Base
include CustomConnect
end
Inheritance:
class CustomConnect < ActiveRecord::Base
self.abstract_class = true config = ActiveRecord::Base.configurations["custom_"+RAILS_ENV] establish_connection(config)
end
class abc < CustomConnect
end
When you have a significant number of models, how are database connections handled and which approach is better?