From: Pit Capitain Date: 2005-11-28T17:52:09+09:00 Subject: Re: supporting/emulating updatable views in a ruby orm Ara.T.Howard schrieb: > > i've got a method to emulate updateable views in postgresql which is rather > simple. however, i'm wondering if any of the ruby orms out there would > support such a beast. for example, given: > > create table foo( > foo text, > id serial, > > primary key (id) > ); > > create table bar( > bar text, > foo_id integer, > id serial, > > primary key (id), > foreign key (foo_id) references foo (id) > ); > > create view foobar as > select > foo.foo as foo, > bar.bar as bar > from foo, bar > where foo.id = bar.foo_id; > > i need to be able to do something like this: > > db = DB::new options > > foo = db.table "foo" > bar = db.table "bar" > > foobar = db.view "foobar" > > foobar[0]["foo"] = "42" > foobar[0]["bar"] = "forty-two" > > p foo[0]["foo"] #=> "42" > p bar[0]["bar"] #=> "forty-two" > > i can do this using my code if the view is constructed a certain way, > but i'm > wondering of any of the existing orms have addressed this rather common > need? Ara, I don't have an answer for you, but some more questions. If I understand your code, you want to create new rows via the view foobar. Do you want to create a new foo for every new bar? I don't think so, otherwise you could have both in the same table. Do you want to allow two foos to have the same text? If not, you should add a unique key on the foo column to the foo table. Only then it should be possible to do what you want. But as I said, I can't tell you anything about the Ruby ORM frameworks. Regards, Pit