For ActiveRecord it's okay to use a before filter rather than an around
one. But for Sequel you'd probably need to call "with_connection {|c| ...}".
Since ActiveRecord will reserve the connection for the full request
cycle, you're okay with using a before filter as long as you don't spawn
new threads using the database in your request main thread.
Even if you're not using a multi-process server (like Unicorn) it should
just work fine in the conditions stated above.
Cheers.
On 02-06-2014 00:49, Reginaldo Junior wrote:
Yes. Actually I'm using a before filter and setting it per
requisition. I think it will work because I'm using Unicorn. But I'm
curious why are you suggesting an around filter, what should I do
after the action? I think I'm missing something.
Em domingo, 1 de junho de 2014 18h33min48s UTC-3, Rodrigo Rosenfeld
Rosas escreveu:
I guess you want to implement some kind of multi-tenant
application using PG separate schemas for each tenant.
In that case, if your application uses a single thread per request
you should be able to achieve that by using an around filter to
set the search path.
I think this is the easiest way to achieve what you want if I
guessed it correctly.
On 01-06-2014 18:14, Reginaldo Junior wrote:
Can I do this dinamically and is it thread-safe?
Em domingo, 1 de junho de 2014 17h48min27s UTC-3, Mohamed Wael
Khobalatte escreveu:
This is achievable by setting the table in the model Bar to
foo.bar, is that what you meant?
On Sun, Jun 1, 2014 at 9:14 PM, Reginaldo Junior
<[email protected]> wrote:
Hi. I was thinking in the possibility to set a namespace
for tables in AR queries, so instead of setting the
search path like this:
ActiveRecord::Base.connection.schema_search_path =
'foo, public'
We specify the schema in the query:
select * from foo.bar;
so it could be a thread-safe solution and work with
multi-thread environments and improve Rails support for
real multi-tenant apps using Postgres schemas. What do
you guys think?
--
You received this message because you are subscribed to
the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to [email protected].
To post to this group, send email to
[email protected].
Visit this group at
http://groups.google.com/group/rubyonrails-core
<http://groups.google.com/group/rubyonrails-core>.
For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
Mohamed Wael Khobalatte
--
You received this message because you are subscribed to the
Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected] <javascript:>.
To post to this group, send email to [email protected]
<javascript:>.
Visit this group at
http://groups.google.com/group/rubyonrails-core
<http://groups.google.com/group/rubyonrails-core>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google
Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ruby on
Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.