Hello all! I want to dynamically change table name for some count of my models. I understand that may be it''s bad practice but I simply need it. I found some solution that works for somebody: application.rb: around_filter :scope_rubrics_partition def scope_rubrics_partition Rubric.scope_rubrics_partition do yield end end class Rubric < ActiveRecord::Base def self.scope_rubrics_partition if true set_table_name ''dp_ru_rubrics'' # set_primary_key ''dp_ru_rubrics.id'' else set_table_name ''rubrics'' end yield ensure set_table_name ''rubrics'' end end Also patch rails to don''t memoize table_name reflections.rb: def table_name klass.table_name end def quoted_table_name klass.quoted_table_name end But now I get an error like: Mysql::Error: Unknown column ''rubrics.id'' in ''order clause'': SELECT `dp_ru_rubrics`.* FROM `dp_ru_rubrics` ORDER BY rubrics.`id` ASC LIMIT 0, 15 So, how in the end set table name dynamically in production mode too? Thank you! p.s: sorry for poor english) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---