Aaron Watters schrieb:
This is a bit off topic except that many Python
programmers seem to be allergic to typing SQL.

RESOLVED:  Using ORMs leads lazy programmers
to make bad database designs.  It's better to
carefully design your database with no invisible
means of support and there is no reason to not
use SQL directly for this purpose.

FOR EXAMPLE:  Consider blogging.  The most
successful blog software is WORDPRESS.  Here
is the WordPress data model:

http://blog.kapish.co.in/wp-content/uploads/2009/03/wp_2.7.png

Beautiful, isn't it?  It was designed by people who
thought about what they were doing and did it carefully.

Now let's look at the Sakai Blogger tool data model
(as reverse engineered by someone who had to
fix a bug -- there actually was no data design created
by the implementers):

confluence.sakaiproject.org/download/attachments/17072138/
entitymodel.pdf

How did the above happen?  I suspect someone opened
up Eclipse and started typing, relying on the Hibernate
ORM to handle all the database stuff automagically.  The
result is a massive headache for people like me.  Another
one.  I routinely open up the mysql prompt and start typing
"show tables", "describe table blah", "select * from blah limit 10"...
trying to figure out WTF Hibernate did with my data.

I think your example is nonsense. Just comparing the two models based on "they both are for blogging" is like comparing a cessna to a 747 - yes, both are flying, but that's pretty much what they have in common.

It is pretty clear that sakai's data-model caters to a very sophisticated *user*-model, with roles and permissions, and whatnot. Plus other features. So it appears to be more in the CMS-league.

Now it's obviously easy to argue that this isn't needed for a simple blog. Nonetheless, it doesn't make a point about ORM. With any ORM I know (both in Java and Python) you could design the simple and straight model WP uses.

And I've seen my fair share of convoluted, trashy pure-SQL-based DBs as well.

So I think to make your point you need some more convincing arguments.

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

Reply via email to