Got it. Your answers were very helpful, thanks a lot!
Em segunda-feira, 2 de junho de 2014 14h57min53s UTC-3, Rodrigo Rosenfeld
Rosas escreveu:
>
> Also, there's another catch. Some people implementing this pattern
> prefer to rollback the value for the search_path to the previous value once
> the request is completed. In that case you'd want to use an around filter
> with a begin-finally block.
>
> But if you always set the search_path for all requests, then this is not
> absolutely required for AR.
>
> On 02-06-2014 14:07, Rodrigo Rosenfeld Rosas wrote:
>
> 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.
For more options, visit https://groups.google.com/d/optout.