[Grok-dev] Re: STORM howto

Wichert Akkerman wichert at wiggy.net
Fri Mar 14 07:28:30 EDT 2008


Previously Martijn Faassen wrote:
> The other point that bothers me about Storm is that they do not have a 
> database schema abstraction in Python. It's not possible to generate a 
> RDB schema from Python. They do not generate "create table" statements 
> at all.

SQLAlchemy has that option and it is extremely useful for testing: your
test fixture can setup a sqlite in-memory database and tell SQLAlchemy
to create the tables and indexes in something like two lines of code and
you're off.

> In addition, I think SQLAlchemy allows introspection of existing
> databases, which allows for the generation of cool tools as well.
> Again a schema abstraction is helpful to support this kind of feature.

That is schema autoload, and it is very practical when you want to get
started quickly. You tell SQLAlchemy the name of a table and it figures
out the schema and does all the magic you need automatically.

> Do you know whether people have done work integrating Zope 3 schema with 
> SQLAlchemy? I think we need a form of integration there, though I'm not 
> sure yet what shape this should take.

collective.mercury has code to do that. See
http://svn.plone.org/svn/collective.mercury/trunk/collective/mercury/sa2zs.py

Wichert.

-- 
Wichert Akkerman <wichert at wiggy.net>    It is simple to make things.
http://www.wiggy.net/                   It is hard to make things simple.


More information about the Grok-dev mailing list