[Zope3-Users] SqlAlchemy
catonano
adriano at euma.com
Thu Sep 14 13:31:57 EDT 2006
Hello zopers,
well this email is going to be quite long, I'm sorry I have many things to say
I saw the Zope 3 book, particulary the mapping (adapting) between the
persistent objects defined there (a messageboard and a message
objects) and some ftp files (and folders).
Now, I'd like to do the same with some, say, objects that are in a
MySql database. I would love to realize a folders/files hierarchy
that's mapped on my relational database !
I saw SqlAlchemy. It's impressive. I took a look at the Zalchemy code
too, just to see wether I could borrow something.
I made a plan about how to achieve all this. I would like to expose
it here and ask you, kind zopers, wether it's sane or there's
something BIG I'm missing.
Because in the Zalchemy code I saw something I don't understand so I
started to fear that there is something big I'm missing, indeed.
So, my plan is:
1) introduce all my tables and relationships between them. Something
like users = Table('users', metadata, autoload = True)
and then overriding some table property where needed, also
introducing some relationships, all what needed
2) define some interfaces as in the Zope 3 book, introducing
containers and contained objects
3) define implementation classes for the interfaces that in their
methods do something similar to what I saw in SQLAlchemyContainer,
for example, which is, say,
def __setitem__(self, name, item):
session = z3c.zalchemy.getSession() #in my case I still
don't know where I'll take the session from
session.save(item)
session.flush([item])
4) adapt these components to files, as in the book example
Could this be a good plan ?
Because in the Zalchemy code I saw a strange class, that is:
class AlchemyDataManager(object):
"""Takes care of the transaction process in zope.
"""
implements(IDataManager)
shall I take care of this transaction process too ?
Because I know nothing about it and saw not so many docs about the
internal Zope3 machinery.
Thanks so much for any hint
Bye
Catonano
More information about the Zope3-users
mailing list