Luiz Geron wrote: > Hi all, > I'm testing the PDO wrapper to database modules [1] and I'm wondering > how few things like this there are around.
Actually there are several Object-Relation Mappers (ORM) for Python, and also a few other attempts to provide a more convenient layer on top of DB-API modules. This wiki page has links: http://wiki.python.org/moin/HigherLevelDatabaseProgramming > My problem, actually, is the paramstyle of modules. That problem exactly what these solutions try to solve, this and multiple SQL dialects and handling types like date etc. for multiple backends. > I want to use kinterbasdb in the same code I use > cx_oracle, for example, but paramstyle changes from one to other, than > I searched for things like this and found nothing really usefull. The > problem with PDO is that it was so dificult to find, since a few people > seems to use it, and I haven't yet figured how to change the paramstyle > on it, so I want to ask: Do you use a thing like this that you would > recommend to me? I always wrote my own thin layer on top of DB-API modules and used it to implement a *specific* database interface for my applications. This would then have one or more database backends. Actually never more than two so far. If you want to go for a more popular ORM, you can try out SqlObject. But it doesn't have Oracle support, yet. There were patches and there are apparently again new attempts to integrate Oracle support, but nothing official/finished yet apparently. Personally, I recently checked out different ORMs for Python one afternoon. Only superficially, but here's my biased uninformed opinion. - SqlObject (1) has an active community, and its use in Subway and TurboGears will create even more momentum for it. By looking at its code (for hacking in Oracle support, which I managed to do for a one-table test case), I found it to have *a lot* features, including caching and others. I don't particularly like that, I'd prefer a thin-to-medium layer myself. - There was something to Modeling (2) I didn't like. It's just a gut feeling that it tries to do too much for my taste. - PyDO2 did work with Oracle out of the box, the SQLite and PostgreSQL adapters looked reasonable too from a quick code inspection. It does seem to do one thing and do it right, which is a philosophy I like in libraries and wrappers. If I'm to use a ORM for a future project, I'd first go with PyDO2. HTH, -- Gehard (1) http://sqlobject.org/ (2) http://modeling.sourceforge.net/ (3) http://skunkweb.sourceforge.net/PyDO2/manual.html -- http://mail.python.org/mailman/listinfo/python-list