Chris,
I’ve realized that unfortunately you’re not going to be able to use
sqlite
databases either. I’ve just remembered that AppEngine doesn’t allow you
to
write to the file system, so even if you do have an sqlite database, and
the
sqlite jdbc drivers or whatever, you won’t be able to alter your
database.
I’ve not tried out Genki’s adapter, although i’ve talked with him
briefly
about it once.
My strong preference and recommendation is to use Ryan B.'s
appengine-apis and his dm-appengine adapter (
Google Code Archive - Long-term storage for Google Code Project Hosting. they’re both available as gems
as
well currently named ‘appengine-apis’ and ‘dm-appengine’). Genki’s
adapter
is an 0.9.x adapter, and there are a number of changes that adapters
need to
go through to work with 0.10. Ryan’s adapter is an 0.10 adapter.
DataMapper 0.10 is very soon to drop (i’m hoping next week, but it
depends
on dkubb!)
Ryan, additionally, is a member of google’s appengine team, so i take
his
code to be a bit more on the authoritative side. The appengine-apis
provide
a thin ruby wrapper to the Java Appengine APIs in such a way that you
can
test against them, and run them on the local dev server and the like.
Ryan’s dm-appengine is an abstraction layer on top of his api wrapper,
which
means that you can additionally test your code locally w/ his appengine
adapter, and again, run them against the jetty dev server that google
provides in the sdk. As far as i am aware genki doesn’t provide any
promises that his adapter will run locally.
I should add that there’s more info/work on this coming down the pipe.
I’ve
been talking with a Ryan and another googler (John Woodell) and we’ve
got
some ideas as to how to make setup and deployment w/ appengine a little
bit
more ruby like. Only thing is, that i’m waiting on dm 0.10 and the
JRuby
Jars gems that we depend on to be released before i can write a tutorial
that can be used by anyone.
I personally use the appengine-apis gem and the dm-appengine adapter,
along
with a lib that i put together called reggae (Ruby Enabled GooGle App
Engine
http://github.com/knowtheory/reggae ). Reggae actually wraps all the
parts
of the java sdk that the appengine-apis need to use, and provides access
to
the jetty dev server, and (soon) the upload and app configuration tools
that
google includes in the sdk.
Eventually the goal is to have something as stupid simple as
merb-gen app your-app-name
reggae upload your-app-name
[enter your account and password]
(most likely there will be an “edit your config.ru to provide metadata”
step
inbetween those two steps)
Hope that helps!
-Ted (knowtheory)