Hello, I am stuck in an environment where there is a massive Oracle database model in place which cannot be changed, is accessed by large java systems, and have been tasked with connecting to it all with Ruby on Rails. The biggest hurdle has been the fact that we use a multiple table inheritance model (per class hierarchy), which Rails definitely doesn''t support out of the box. I''ve looked around for many solutions, and spent the last week or two finally trying to roll my own. The following is what I have created, and I would like to contribute it to the community. Any feedback is welcome. The project is stored in SVN here: http://svn.mojobojo.com/armi It lacks unit tests, and only has inline documentation. Hopefully I can get around to that sometime, and I apologize in advance for the lack thereof. I''ve tested it against Oracle and MySQL, but not PostreSQL. Unfortunately I don''t think SQLite will work, since it has no way to do sequences as far as I can tell. The biggest drawback is the number of queries performed, and I can''t think of a way around that. The price of flattening multiple tables into a single object I suppose. Enjoy. Brian Jones http://www.mojobojo.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
could you show a sample of your DB that is causing this problem? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
On Jan 26, 11:40 am, Keynan Pratt <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> could you show a sample of your DB that is causing this problem? > > -- > Posted viahttp://www.ruby-forum.com/.We use what is known as "per class inheritance" here, which means a 1 object to many table relationship. ActiveRecord is closest to a "per concrete class" model, which is a 1 object to 1 table relationship. There is no way to use ActiveRecord''s modeling convention, because there are already huge systems in place using a different and widely used convention. The following is a good article explaining the three standard models that are used (not really sure what xcalia is, but good article): http://www.xcalia.com/xdn/resources/articles/InheritanceStrategy/PickingTheRightInheritanceStrategy.jsp Sorry about not going into specific detail, but I feel that this helps clarify the point. I built this because I am in an environment where changing the db model is _not an option_. Brian --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
On Jan 26, 3:00 pm, "Brian Jones" <mojob...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On Jan 26, 11:40 am, Keynan Pratt <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> > wrote: > > > could you show a sample of your DB that is causing this problem? > > > -- > > Posted viahttp://www.ruby-forum.com/.We use what is known as "per class inheritance" here, which means a 1 > object to many table relationship. ActiveRecord is closest to a "per > concrete class" model, which is a 1 object to 1 table relationship. > There is no way to use ActiveRecord''s modeling convention, because > there are already huge systems in place using a different and widely > used convention. > > The following is a good article explaining the three standard models > that are used (not really sure what xcalia is, but good article): > > http://www.xcalia.com/xdn/resources/articles/InheritanceStrategy/Pick... > > Sorry about not going into specific detail, but I feel that this helps > clarify the point. > > I built this because I am in an environment where changing the db model > is _not an option_. > > BrianDid you consider using any of Dr. Nic''s Models? Jason --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---