Model.uncached do Model.do.work end On Mon, Feb 18, 2013 at 3:27 PM, javinto <jan.javi...@gmail.com> wrote: > In part of my application I'm using dynamic tables. I'm aware of the single > thread conditions. I've tackled some caveats yet - will post a blog about it > soon - but there's one I need help with. > > Consider 2 models that are associated: Order and OrderLine where Order has > many order_lines. > > Now we set the table names for them: > Order.table_name='v1_orders' > OrderLine.table_name='v1_order_lines' > > Query: > OrderLine.joins(:order).where(Order.table_name=>{:customer_id=>1}).all > Result: Select v1_order_lines.* FROM v1_order_lines INNER JOIN v1_orders ON > v1_orders.id=v1_order_lines.order_id WHERE v1_orders.customer_id=1 > > So far so good > > Now we alter the table names: > Order.table_name='v2_orders' > OrderLine.table_name='v2_order_lines' > > and requery: > > Query: > OrderLine.joins(:order).where(Order.table_name=>{:customer_id=>1}).all > Result: Select v2_order_lines.* FROM v2_order_lines INNER JOIN v1_orders ON > v1_orders.id=v2_order_lines.order_id WHERE v2_orders.customer_id=1 > > Notice the INNER JOIN, it still uses the v1_ prefixes!! > > I looks like if there has been some association caching. How can I get rid > of it? > > I tried: ActiveRecord::Base.connection.schema_cache.clear! but without the > right effect. > > > Thanks > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-talk+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-/esE-9LGzDZgJ. > For more options, visit https://groups.google.com/groups/opt_out. > >
-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.