Googling, I found SQLalchemy,
which looks quit good.

SQLAlchemy is very good. I'm very slowly migrating our entire codebase to it.
 

But as I only want to choose once,
I googled for  "SQLalchemy alternatives",
but it didn't find many answers.
(Storm / Grok are of no interest, because manipulating the structure of the database is a key issue).

There's a few other alternatives-- if you google "Python ORM" you'll find a lot more, and PyPi might have a list. But IMHO, SQLAlchemy is the best of breed so far. Its very, very flexible and doesn't really impose on you with any rules about how you must do things.

Storm's not bad, don't get me wrong!

But one question on your requirements: manipulating the structure of the database. How so? If you mean that you want to be able to modify the object wrapper to change some field of a table and have that change propagated to the database layer... then SQLAlchemy doesn't support that. If you add new tables it'll create them, and it MIGHT add new columns or indexes if you add them after and it notices they aren't there... but I'm not entirely sure on that. Never came up in my SQLAlchemy work yet. I've mostly just been adding tables and doing create_all() to get the new ones in.

--S

Attachment: signature.asc
Description: OpenPGP digital signature

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to