Andrew G. wrote:
Fair point, which brings me back to Berkeley DB, you can check out the
info here:
Oracle Berkeley DB Downloads
Berkeley DB - Wikipedia
I’m not trying to be stubborn here, I would realy like to try and start
a dicussion about this…
I’ve got a little bit of anecdotal information about this topic. Assaph
Mehr wrote an ActiveRecord adapter for KirbyBase, called Ackbar. Now,
KirbyBase does not use SQL as it’s query language; it uses Ruby blocks.
So, inside the guts of Ackbar, Assaph had to do all kinds of strange
morphing to convert the SQL string received from ActiveRecord into a
Ruby block that KirbyBase could understand.
He got this working with Rails 1.0. Unfortunately, Rails 1.1 broke it
and I’m not sure Assaph is going to attempt to get Ackbar working with
Rails 1.1. It is not a trivial task to keep Ackbar in sync with
ActiveRecord changes.
Now, writing an ActiveRecord adapter might be easier for Berkeley DB,
since it’s query language is much simpler than KirbyBase’s.
As a side note, just for fun, a few days ago I started playing around
with building a Rails app and using KirbyBase as the database back-end,
but not using ActiveRecord (i.e. my model did not inherit from
ActiveRecord’s Base class). It was fairly easy to get basic #find
functionality working all the way through the controller to the view.
However, when I attempted to do #updates, what I started to miss was all
of the cool stuff, like errors being propagated from the model back to
the view and showing up all nice and pretty.
It’s definitely do-able to use a non-ActiveRecord backend in Rails, but
you will either have to live without a lot of the niceties that the
ActiveRecord-Rails integration gives you, or try to duplicate it in your
own code.
Maybe ActiveResource will prove to be another alternative.
Jamey C.
Confidentiality Notice: This email message, including any attachments,
is for the sole use of the intended recipient(s) and may contain
confidential and/or privileged information. If you are not the intended
recipient(s), you are hereby notified that any dissemination,
unauthorized review, use, disclosure or distribution of this email and
any materials contained in any attachments is prohibited. If you receive
this message in error, or are not the intended recipient(s), please
immediately notify the sender by email and destroy all copies of the
original message, including attachments.