Storm developers, First, let me say thanks for developing Storm! It appears to be well thought out and designed. In my application I have a home-grown ORM that I wrote several years before there were any decent Python ORMs, and I have always hoped to replace mine with a better, well-supported one. Storm is the first ORM I've seen that I like well enough to try refactoring my code to incorporate it. :)
Now for my questions: (1) Collisions between SQL table/column names and SQL reserved keywords are not permitted, as of course you are aware (ref., e.g., <http://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html>). Since I wanted my application objects' attributes to be free of this restriction, I used a brute force approach in my ORM's automatic table-creation methods: all my table names and column names are formed by prepending '_' to the corresponding Python names, which has worked quite well for my app (although it requires some new typing habits when working with the database interactively, but who would want to do that?? ;). Having now played with Storm and inspected the code, it seems that Storm's way of dealing with this issue is to say "Don't do that!" Is that correct? That is of course a perfectly legitimate design decision -- I just wanted confirmation so I know whether I need to find my own way to work around it. (2) My app is "interface-driven" rather than "class-driven" -- i.e., interfaces (I use zope.interface) are the primary containers for application metadata, which then gets propagated to classes, sql tables, user interfaces, and serialization methods from the interfaces (which are themselves generated from external schema, such as ontologies). It's not much of an effort to create Storm-style classes from the interfaces automatically -- I've got that working now. Is the current plan for Storm to continue to be "class-driven" as it is now? Again, that's a legitimate design decision -- I'm just looking for confirmation before I continue with my work-around. The keyword issue will be the more difficult one for my app to work around, of course, as the only ways I see right now involve maintaining my own branch of Storm that incorporates the special mappings. Suggestions welcome, of course! Thanks again for an excellent ORM. Cheers, Steve -- storm mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm
